|
|
|
|
|
by Everlag
3099 days ago
|
|
Allow me to shill for Concourse[0]. It's oriented around 'tasks' composed into 'pipelines'. Each task either fails or succeeds with the yaml pipeline definition providing hooks into either state to proc other tasks. A task is a yaml definition that invokes a bash script. Each task runs inside a preconfigured docker container for full reproducibility. It's declarative and everything needed to bring up a pipeline can be stored in git alongside the software it supports. For an example pipeline definition, check out the one for bosh-gcscli[1] and its accompanying tasks[2]. Now, there is the downside that upkeep is a hassle because it requires buying into the BOSH ecosystem to deploy Concourse. That pays for itself by being explicitly anti-brittle, with support for migrations and canary rollouts builtin. Disclaimer: I worked with Concourse at my previous position but currently have no financial stake in its success. [0] https://concourse.ci/
[1] https://github.com/cloudfoundry/bosh-gcscli/blob/c908176/ci/...
[2] https://github.com/cloudfoundry/bosh-gcscli/tree/30316d6/ci/... |
|