I very much appreciate the "Concourse vs." page[1] which compares Concourse to several other CI solutions, but I wish they would include Buildbot[2]. Everyone always forgets about Buildbot!
Buildbot can integrate with Docker to run tasks on containers, create complex conditional flows with triggered builds/steps (among others), and has been in use for many years at organizations large & small.
While the YAML based Concourse configurations seem very useful, we've found that for many non-trivial pipeline style builds are better served by being written in a fully functional language like Python. It has some disadvantages compared to a declarative approach taken by Travis & Concourse, but I feel that they outweigh the limitations imposed by the latter.
The next version of buildbot is also being refactored into a core + plugins system, which should allow for some pretty impressive flexibility that should serve the needs of almost everyone.
I'm not familiar with Buildbot, but the benefit you're describing I think exists in Concourse as well. When you define a task you can just point it to a script to run. This can be a script written in a higher level language if you'd like.
First of all: Thanks for your excellent work on GitLab! We're evaluating it currently, and it quickly replaced our SVN and TeamCity workflows for some of our projects.
I love the lightweight approach with GitLab CI, it's really easy to get started with. I currently don't miss any significant functionality, but I guess our builds are not that complex.
As we're running our complete infrastructure on Mesos/Marathon, I wonder whether it'd be possible to use the new autoscaling for the runners with Marathon instead of docker-machine. Basically, the only thing I'd need to be able to is to retrieve the registration token for the runners via a API, so that it can be passed in when the new Docker container(s) is/are spun up.
We choose docker-machine, because it also manages infrastructure, so this makes it much more easier for Administrators to manage hundred of build machines.
I'm thinking about an option to make it possible in one of the upcoming releases: how to scale gitlab-runner on other providers. You should look out for improvements in that department too!
Buildbot can integrate with Docker to run tasks on containers, create complex conditional flows with triggered builds/steps (among others), and has been in use for many years at organizations large & small.
While the YAML based Concourse configurations seem very useful, we've found that for many non-trivial pipeline style builds are better served by being written in a fully functional language like Python. It has some disadvantages compared to a declarative approach taken by Travis & Concourse, but I feel that they outweigh the limitations imposed by the latter.
The next version of buildbot is also being refactored into a core + plugins system, which should allow for some pretty impressive flexibility that should serve the needs of almost everyone.
--
1. https://concourse.ci/concourse-vs.html 2. http://docs.buildbot.net/latest/