Evaluating Concourse: is docker-compose a robust option?

Hello, everyone.
We’re evaluating FOSS CI/CD applications and, after looking at several of them, Concourse looks like the one I would bet on.
My local tests (still not far from hello-world pipelines and jobs) worked as I expected and I found very good documentation, in addition to https://concoursetutorial.com/.

Anyhow, the only thing I have doubts about is how feasible it is to run functional tests with docker-compose, as we currently do with GitlabCI.
From what I’ve seen, it’s a feature somehow supported by community (2 base docker images created by private individuals and not by Concourse) that, with some tuning, would allow you to do it.
The question is, is it robust enough? I’ve read about breaking changes also and I worry about it.
Our company relies on docker-compose since it’s a great tool to execute functional, integration and/or e2e tests locally the same way you would do it in a CI pipeline and we don’t want to loose that.

Any thoughts about that? Is anyone in the same position?

Thanks everyone for your time.



The robustness of Concourse CI deployed from docker-compose depends exactly on the robustness of your docker engine. When you talk about “breaking changes” - is this referring to deploying a new concourse release using an older docker-compose? In that case - I agree you have to look at the help and especially environment variables a bit because functionality does change between major versions.

I’ve been using the docker-compose in order to create a jumpstart concourse environment for launching a pipeline that deploys concourse on kubernetes. Funny enough - that jumpstart environment seems to be more stable than the kubernetes environment (as the underlying platform has some issues)

Thanks for your reply. I think I didn’t explain myself correctly.
I’m not talking about launching Concourse CI using docker-compose but using docker-compose in your pipelines.

Question still stands. Anyone working with it?

I believe I’m asking the same question as @pachico – feel free to correct if it’s not the case and I’ll move my question elsewhere :slight_smile:
My scenario is the following: I have a large-ish application running on the host via docker-compose. What is the recommended approach to upgrade this application from Concourse? If I understand correctly, everything in Concourse runs inside docker containers. Does that mean that docker-compose commands should be run from inside a container that mounts /var/run/docker.sock? I see no other solution, but I’m just getting started with Concourse.