DEV Community

Dimitrios Desyllas
Dimitrios Desyllas

Posted on

How I can cache the built layers between builds on travis?

As I ask in https://devops.stackexchange.com/q/13398/4396 I want to cache any built layer on my dockerfile in order to speed up my docker builds.

I have the following .travis.yml:

language: shell
os: linux
dist: xenial
git:
  depth: false

services:
  - docker

env:
  global:
    - LATEST=39
    - LATEST_LTS=39
  jobs:
    - "DB_TYPE=all VERSION=35 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=35 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=pgsql  VERSION=35 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=35 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=pgsql VERSION=36 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=all VERSION=36 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=36 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=pgsql  VERSION=36 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=36 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=pgsql VERSION=36 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=all VERSION=37 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=37 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=pgsql  VERSION=37 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=37 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=pgsql VERSION=37 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=all VERSION=38 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=38 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=pgsql  VERSION=38 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=38 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=pgsql VERSION=38 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=all VERSION=39 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=39 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=pgsql  VERSION=39 DOCKERFILE=dockerfiles/apache/Dockerfile"
    - "DB_TYPE=mysqli VERSION=39 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"
    - "DB_TYPE=pgsql VERSION=39 DOCKERFILE=dockerfiles/fpm_alpine/Dockerfile"

script: bash ./travis/build.sh

deploy:
  - provider: script
    on:
       branch: master
    script: bash ./travis/deploy.sh
Enter fullscreen mode Exit fullscreen mode

And I use the following dockerfiles:

How I can reuse docker build cache during the 16 parralel builds I perform?

Top comments (0)