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
|