If you are not familiar with Dockeryou can read about it in my other article. In this article I’m talking specifically about docker-compose; the tool for building multiple containers (as most application stacks will require).

docker-composeis great. It can be used to deploy to your dev machines, your production application and of course your CI. I’m quite fond of Travis CIbecause it has seamless integration with Github, is free (for public repositories) and works very well with any type of project or build process you want to throw at it.

At the time of writing this Travis has most Docker tools preinstalled, but they are at older versions. So you will have to update them as part of the build script — this adds a little bit of time to the build and some time in the future you can remove that code.

I am going to assume you are familiar with the Travis YAML configuration. Here are the bits that matter: