overleaf-sso/.gitlab-ci.yml

59 lines
1.9 KiB
YAML

# 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 --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