Build with kaniko

This commit is contained in:
David Mehren 2021-05-30 10:59:04 +02:00
parent 99efc955d9
commit 0cfffbf8be
No known key found for this signature in database
GPG Key ID: 185982BA4C42B7C3
1 changed files with 17 additions and 50 deletions

View File

@ -1,70 +1,37 @@
# Official docker image.
image: docker:latest
variables:
DOCKER_DRIVER: overlay2
DOCKER_BUILDKIT: 1
TEXLIVE_IMAGE_UPSTREAM: texlive/texlive:latest
TEXLIVE_IMAGE: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/${TEXLIVE_IMAGE_UPSTREAM}
# Docker in Docker Service
services:
- name: docker:dind
command: ["--experimental"]
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" $CI_DEPENDENCY_PROXY_SERVER
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- 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
- /kaniko/executor
--cache=true
--build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
--build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}"
--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"
--context $CI_PROJECT_DIR
--dockerfile $CI_PROJECT_DIR/Dockerfile
--destination "$CI_REGISTRY_IMAGE"
--destination "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
only:
- main
build:
script:
- docker build
--build-arg BUILDKIT_INLINE_CACHE=1
- /kaniko/executor
--cache=true
--build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
--build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}"
--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"
--context $CI_PROJECT_DIR
--dockerfile $CI_PROJECT_DIR/Dockerfile
--destination "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
except:
- main