Concourse CI
https://concourse-ci.org
Concourse is the internal deployment strategy of pivotal which is part of the couldfoundry initiative/group and is available as an open source project and is part of their cloudfoundry offering.
It is essentially a thing-doer, a meta system where resources can be defined and used as triggers on which jobs - a collection of serial, parellel, failable, actionable tasks are execute on workers. Each worker can either be windows, linux or mac os.
The whole concept is built around containers, each and every task has an container based environment which as of today is mostly docker based but can be extended to whatever is needed.
Concourse has a directory level cache support, but it is also possible to integrate external services with it, such as sccache/redis.
I’ve been using concourse 2 throughout 4 for open source as well as work environments and while not being a devops at heart, it was fairly easy to get into it.
A few distinctive key features are:
- being able to beam yourself into the build container and see what went wrong in there, poke around - reduces turn around time for fixing a broken test environment
- command line utility fly to update the pipeline, independently of commits/git
- credential management via vault or injectable json, thus the descriptive yaml can be version with git
- graphical pipeline representation and dashboard (see i.e https://ci.spearow.io )
- monitoring via influxdb/riemann/prometheus possible
…
I missed a few things, but I am confident that this is something that could potentially fit the needs.
The components are loosely coupled, i.e. the container runtime can be change as an argument for the worker. The whole thing is written in go as of today.
downside
- I have no experience using a hosted version, so far I always spun up my own network/nodeset