/pipeline

A free, open-source continuous delivery tool that's powerful enough for the enterprise, flexible enough for startups and simple to use for hobbyists

Primary LanguageGroovyMIT LicenseMIT

Pipeline

Pipeline is a Continuous Delivery (CD) tool, which we and all stakeholders of the CD pipeline love to use. Licensed under the MIT License

Find the latest release on the releases page. And follow the installation and configuration documentation to get started.

Follow us on Twitter @pipelinelabs

State of the project

This project is currently in a very early state of development. Development happens in a LEAN way, bit by bit adding features and improving based on user experiences and feedback. Give your feedback at the user/dev forum.

Features

  • From the ground-up, pipeline-based
  • Pipeline configuration in pipeline domain language (DSL)
  • Version controlled pipeline configuration
  • Support for public and private git repositories
    • hosted on Github, triggered via webhook
    • hosted on GitLab(.org/com), triggered via [webhook] as explained on [Web hooks] help page of your GitLab installation

Roadmap

Some ideas on epics/topics we want to have implemented along the way, in no particular order:

  • Configuration service that provides generic configuration to all pipelines
    • Also supporting a secure way for sensitive configuration data
  • Native packages for different OS'es, for easy installation
    • Also providing scripts to run services as system daemons/services
  • Extensive logging and monitoring functionality
  • Extend pipeline configuration with environment and execution information for simpler maintenance by not depending on specific server configurations, the pipeline takes care of everything in a versioned manner. For example:
    • Environment variables to make available to the whole pipeline, specific stages or specific commands
    • System applications and versions which are required to run the pipeline are installed and configured automatically
    • ...
  • Different GUI's, for the different types of users and usages
    • All communicating with one single API against the system
  • Support for different authentication and authorization schemes

Building Pipeline

The only prerequisite is that you have JDK 7 or higher installed.

After cloning the project, type ./gradlew build (Windows: gradlew build). All build dependencies, including Gradle itself, will be downloaded automatically (unless already present).

Contributing to this project

Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.

Special thanks to

  • Andrew Oberstar for being the very first code contributor and all-round providing great support and feedback
  • Martin Kovachki for awesome logo designs
  • Tricode for sponsoring developer-time and resources

githalytics.com alpha