# Official docker image. image: docker:latest variables: DOCKER_DRIVER: overlay2 DOCKER_BUILDKIT: 1 # Docker in Docker Service services: - docker:dind before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - source environment build-main: script: - docker build --cache-from $CI_REGISTRY_IMAGE:stage-src \ --target src \ --build-arg BUILDKIT_INLINE_CACHE=1 --pull \ -t "$CI_REGISTRY_IMAGE:stage-src" \ -t "$CI_REGISTRY_IMAGE:stage-src-branch-$CI_COMMIT_REF_SLUG" . - docker build --cache-from $CI_REGISTRY_IMAGE:stage-texlive-update \ --target texlive-update \ --build-arg BUILDKIT_INLINE_CACHE=1 --pull \ -t "$CI_REGISTRY_IMAGE:stage-texlive-update" \ -t "$CI_REGISTRY_IMAGE:stage-texlive-update-branch-$CI_COMMIT_REF_SLUG" . - docker build --cache-from $CI_REGISTRY_IMAGE \ --target app --squash \ --build-arg BUILDKIT_INLINE_CACHE=1 --pull \ -t "$CI_REGISTRY_IMAGE" \ -t "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE" - docker push "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" only: - main build: script: - docker build --cache-from $CI_REGISTRY_IMAGE --build-arg BUILDKIT_INLINE_CACHE=1 --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" except: - main