Pipeline's CI/CD system allows you to automate the execution of jobs on your clusters based on commits to a Git repository. This system is at the core of our Spotguides. Spotguides also generate a starting configuration, based on the best practices of a given environment.
This document will briefly explain the process of activating and configuring a continuous delivery pipeline.
To activate your project, navigate to your account settings. You'll see a list of repositories which can be activated with a simple toggle. When you activate your repository, Pipeline's CI/CD will automatically add webhooks to your version control system (e.g. GitHub).
Webhooks are used to trigger pipeline executions. When you push code to your repository, or open a pull request, or create a tag, your version control system will automatically send a webhook to the Pipeline CI/CD, which will, in turn, trigger a pipeline execution.
To configure your pipeline, you should place a
.banzaicloud/pipeline.yaml file in the root of your repository. The
.banzaicloud/pipeline.yaml file is what's used to define your pipeline steps. It's a superset of the widely used docker-compose file format.
Here's an example pipeline configuration:
cluster: name: my-cluster pipeline: build: image: golang commands: - go get - go build - go test services: postgres: image: postgres:9.4.5 ports:  environment: - POSTGRES_USER=myapp
And here's a pipeline configuration with multiple, serial steps:
cluster: name: my-cluster pipeline: backend: image: golang commands: - go get - go build - go test frontend: image: node:6 commands: - npm install - npm test notify: image: plugins/slack channel: developers username: banzai
To trigger your first pipeline execution you can push code to your repository, open a pull request, or push a tag. Any of these events triggers a webhook from your version control system and executes your pipeline.
You can view your pipeline execution in real-time in the user interface.