43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
# 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
|