Central to Codefresh’s Docker CI service has always been speedy builds. To accomplish this we cache build layers and enable builds in parallel. The result looks like this
Up until now built caching was limited to paid accounts with dedicated servers. With Docker 1.13 and support for sharing caches among build servers now even free accounts have access to full layer caching. The first time you build an image all the layers will be pulled and cached. As you commit code changes the build servers will automatically use the built-in cache without any additional configuration needed.
Automatically, builds will execute with the equivalent of:
docker pull myimage:v1.0 docker build --cache-from myimage:v1.0 -t myimage:v1.1 .
Caching will set a previous image to use as the base and layers will already be in place so they don’t need to be pulled again. You can see the results in the build log.
The improvement in build speed will differ greatly based on your applications but in benchmarks with customers we typically see 5-6x faster builds.
Try for yourself (it’s free) and see how much faster your builds are but building the image twice and looking on the images page.