At Rossum, we use GitLab for development, including running CI (Continuous Integration) pipelines for our code testing. In this post, we delve into some tips and tricks to get this working in our rather complex scenario.
In particular, we have been facing a tricky issue recently - GitLab runs the CI jobs within Docker containers, but our integration tests are based on Docker Compose, i.e. composed from more Docker containers that we needed to instantiate from the test Docker. And the final challenge? Getting computed data from the inner containers back to the job container.
Well, getting that to work turns out to be really complicated! After we spent quite some effort on this, we'd hate others to have to figure it out all again. That is why our researcher Bohumir Zamecnik published a detailed write-up Docker Compose in GitLab CI for integration tests about the challenges we have met on the way, and detailed tips & tricks to overcome them all.