All Projects → m-reda → Pipeline

m-reda / Pipeline

Licence: mit
Node-based automation server

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Pipeline

Webhook
webhook is a lightweight incoming webhook server to run shell commands
Stars: ✭ 7,201 (+3296.7%)
Mutual labels:  automation, server, ci
Openflow
Scalable, secure workflow solution
Stars: ✭ 122 (-42.45%)
Mutual labels:  automation, workflow
Pipedream
Connect APIs, remarkably fast. Free for developers.
Stars: ✭ 2,068 (+875.47%)
Mutual labels:  automation, workflow
Github Actions Runner Operator
K8S operator for scheduling github actions runner pods
Stars: ✭ 159 (-25%)
Mutual labels:  automation, ci
Pipelines
Build pipelines for automation, deployment, testing...
Stars: ✭ 105 (-50.47%)
Mutual labels:  automation, ci
Auto.js
A UiAutomator on android, does not need root access(安卓平台上的JavaScript自动化工具)
Stars: ✭ 10,882 (+5033.02%)
Mutual labels:  automation, workflow
Stelace
Open-source marketplace backend in Node.js, empowering Web platforms with Search API, Automation, Auth, Headless CMS… ⚡ 💻
Stars: ✭ 144 (-32.08%)
Mutual labels:  automation, server
Automation
code generator
Stars: ✭ 65 (-69.34%)
Mutual labels:  automation, workflow
Endly
End to end functional test and automation framework
Stars: ✭ 178 (-16.04%)
Mutual labels:  automation, workflow
Mbt
The most flexible build tool for monorepo
Stars: ✭ 184 (-13.21%)
Mutual labels:  automation, ci
N8n
Free and open fair-code licensed node based Workflow Automation Tool. Easily automate tasks across different services.
Stars: ✭ 19,252 (+8981.13%)
Mutual labels:  automation, workflow
Aws Workflows On Github
Workflows for automation of AWS services setup from Github CI/CD
Stars: ✭ 95 (-55.19%)
Mutual labels:  automation, workflow
Server
The Prefect API and backend
Stars: ✭ 87 (-58.96%)
Mutual labels:  automation, workflow
Ci Matters
Integration (comparison) of different continuous integration services on Android project
Stars: ✭ 119 (-43.87%)
Mutual labels:  automation, ci
Setup Msys2
GitHub Action to setup MSYS2 (MSYS, MINGW64 and/or MINGW32)
Stars: ✭ 78 (-63.21%)
Mutual labels:  workflow, ci
Dockertest
Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
Stars: ✭ 2,254 (+963.21%)
Mutual labels:  automation, ci
Mergify Engine
Engine for Mergify
Stars: ✭ 189 (-10.85%)
Mutual labels:  automation, workflow
Apple Automation
iOS/macOS 自动化,效率玩法探索。
Stars: ✭ 60 (-71.7%)
Mutual labels:  automation, workflow
Kube Score
Kubernetes object analysis with recommendations for improved reliability and security
Stars: ✭ 1,128 (+432.08%)
Mutual labels:  automation, ci
Pypyr
pypyr task-runner cli & api for automation pipelines. Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.
Stars: ✭ 173 (-18.4%)
Mutual labels:  automation, ci

Build Status

Build Status Coverage Status Codacy Badge Go Report Card Docker Build Statu GitHub license

Features

  • Node-based tasks
  • Ready to use units
  • Easy to defined new units
  • Remote build trigger
  • Scheduled builds
  • Real-time build logs
  • Elegant user interface
  • Responsive UI

Video

Pipeline Video

Operating system

Linux and macOS are supported, for windows you can use docker.

Installation (Pre-release)

Note: this release is non-production ready.

Docker

$ docker run -d --name pipeline -p 8080:80 mreda/pipeline

wget

$ wget https://github.com/m-reda/pipeline/releases/download/0.1/pipeline-linux.zip
$ unzip pipeline.zip && cd pipeline
$ PORT=8080 ./pipeline

Download

Built-in Units

  • Filesystem
    • Copy
    • Move
    • Remove
    • Make file
    • Make directory
  • Git
    • Init
    • Add
    • Commit
    • Push
    • Clone
    • Checkout
    • Merge
    • Add remote
    • Pull
  • FTP
    • List contents
    • Make directory
    • Remove directory
    • Upload file
    • Remove file
    • Rename
  • General
    • Run command
    • Send email
    • Sleep x seconds
    • Request URL
    • SSH Command
    • Zip / unzip

Add New Unit

  1. Create new directory under data/units ./data/units/[unit-id]

  2. Create unit definition file data/units/[unit-id]/unit.js

{
	"ID": "fs_copy",
	"Name": "FS Copy",
	"Group": "filesystem",
	"Version ": "0.0.1",
	"Creator": "Mahmoud Reda",
	"Command": "bin:/builtin fs copy {source} {destination}",
	"Inputs": {
		"source": "Source",
		"destination": "Destination"
	},
	"Outputs": {
		"destination": "Destination"
	},
	"Setting": {
		"flag": {"Name": "Flag Name", "Type": "text", "Value": ""}
	}
}
  • The inputs keys must match the names in the command:
{
	"Command": "bin:/filesystem delete {file_path}",
	"Inputs": {
		"file_path": "File Path"
	}
}
  • Command can be global or prefixed with unit: or bin:

    • bin: equals ./data/units/bin
    • unit: equals ./data/units/[unit-id]
  • The setting values will passed to the unit command as flags.

  • Unit directory can contain custom scripts.

  • Each output should be printed in a separate line staring with output's key:

output1:sometext
output2:/path/to/file
output3:{"key":"value"}

TODO

  • [ ] Authentication
  • [ ] Concurrent Builds
  • [ ] Using Database
  • [ ] Upload unit

Custom Build

You can customize the build setting from Makefile under release command, and rebuild using:

$ make release

the new build will be under bin directory, or you can build new docker image using:

$ make docker

Community

Contributions, questions, and comments are welcomed and encouraged.

The Node Editor

I'm using my library Linker.

Linker

Dependencies

mux / websocket / cron / cli / ftp / go.uuid / testify

License

This code is distributed under the MIT license found in the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].