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/