2016-09-12 Edited to prevent caching of builds in pull requests. 2017-07-07 Edited to point to exact git commit b/c we don't use Travis for
Snippets Service anymore.
I blogged before about
building Docker images on Travis and suggested
uploading images after successful test runs to Docker Hub and use them as Cache
after downloading them in next Travis runs.
Travis upgraded recently to Docker version 1.12 (from 1.9) and since version
1.10 Docker features Content Addressability for layers. This change breaks
caching and we need to implement a workaround using Travis cache.
The road towards the absolute CI/CD pipeline goes through building Docker images
and deploying them to production. The code included in the images gets unit
tested, both locally during development and after merging in master branch using
But Travis builds its own environment to run the tests on which could be
different from the environment of the docker image. For example Travis may be
running tests in a Debian based VM with libjpeg version X and our to-be-deployed
docker image runs code on-top of Alpine with libjpeg version Y.