# Official docker image. image: docker:latest variables: DOCKER_DRIVER: overlay2 DOCKER_BUILDKIT: 1 # Docker in Docker Service services: - name: docker:dind command: ["--experimental"] before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - source environment build-main: script: - docker build --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}" --cache-from $CI_REGISTRY_IMAGE:stage-src --target src -t "$CI_REGISTRY_IMAGE:stage-src" -t "$CI_REGISTRY_IMAGE:stage-src-branch-$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE:stage-src" - docker push "$CI_REGISTRY_IMAGE:stage-src-branch-$CI_COMMIT_REF_SLUG" - docker build --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}" --pull --cache-from $CI_REGISTRY_IMAGE:stage-texlive-update --target texlive-update -t "$CI_REGISTRY_IMAGE:stage-texlive-update" -t "$CI_REGISTRY_IMAGE:stage-texlive-update-branch-$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE:stage-texlive-update" - docker push "$CI_REGISTRY_IMAGE:stage-texlive-update-branch-$CI_COMMIT_REF_SLUG" - docker build --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}" --build-arg login_text="${LOGIN_TEXT}" --build-arg collab_text="${COLLAB_TEXT}" --pull --cache-from $CI_REGISTRY_IMAGE --target app --squash -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 --build-arg BUILDKIT_INLINE_CACHE=1 --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}" --build-arg login_text="${LOGIN_TEXT}" --build-arg collab_text="${COLLAB_TEXT}" --pull --cache-from "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" --cache-from "$CI_REGISTRY_IMAGE" -t "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" . - docker push "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" except: - main