Pipeline

Node-based automation server
Alternatives To Pipeline
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Express61,0731,122,97879,5043 days ago299April 29, 2022173mitJavaScript
Fast, unopinionated, minimalist web framework for node.
Socket.io58,335228,9999,61511 days ago144September 02, 2022121mitTypeScript
Realtime application framework (Node.JS server)
Astro31,0341514618 hours ago391September 22, 2022168otherTypeScript
The all-in-one web framework designed for speed. ⭐️ Star to support our work!
Parse Server20,2771,14089a day ago220September 20, 2022397apache-2.0JavaScript
Parse Server for Node.js / Express
Volkswagen12,655552 months ago15October 16, 201561mitJavaScript
:see_no_evil: Volkswagen detects when your tests are being run in a CI server, and makes them pass.
Zero5,832736 months ago169May 11, 202084apache-2.0JavaScript
Zero is a web server to simplify web development.
Metrics Server4,742610 days ago41February 22, 202239apache-2.0Go
Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
Backendlore4,542
3 years ago
How I write backends
Engine.io4,508163,34226310 days ago133June 06, 202215mitJavaScript
The engine used in the Socket.IO JavaScript server, which manages the low-level transports such as HTTP long-polling and WebSocket.
Peerjs Server3,8515165410 days ago25November 28, 202037mitTypeScript
Server for PeerJS
Alternatives To Pipeline
Select To Compare


Alternative Project Comparisons
Readme

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.

Popular Server Projects
Popular Nodejs Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Go
Node
Server
Pipeline
Ci
Ftp