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:
image: docker:latest name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
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"]
before_script: before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - mkdir -p /kaniko/.docker
- docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" $CI_DEPENDENCY_PROXY_SERVER - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- source environment - source environment
build-main: build-main:
script: script:
- docker build - /kaniko/executor
--build-arg BUILDKIT_INLINE_CACHE=1 --cache=true
--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 LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
--build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}"
--build-arg login_text="${LOGIN_TEXT}" --build-arg login_text="${LOGIN_TEXT}"
--build-arg collab_text="${COLLAB_TEXT}" --build-arg collab_text="${COLLAB_TEXT}"
--pull --context $CI_PROJECT_DIR
--cache-from $CI_REGISTRY_IMAGE --dockerfile $CI_PROJECT_DIR/Dockerfile
--target app --squash --destination "$CI_REGISTRY_IMAGE"
-t "$CI_REGISTRY_IMAGE" --destination "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
-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: only:
- main - main
build: build:
script: script:
- docker build - /kaniko/executor
--build-arg BUILDKIT_INLINE_CACHE=1 --cache=true
--build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}" --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
--build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}" --build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}"
--build-arg login_text="${LOGIN_TEXT}" --build-arg login_text="${LOGIN_TEXT}"
--build-arg collab_text="${COLLAB_TEXT}" --build-arg collab_text="${COLLAB_TEXT}"
--pull --context $CI_PROJECT_DIR
--cache-from "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" --dockerfile $CI_PROJECT_DIR/Dockerfile
--cache-from "$CI_REGISTRY_IMAGE" --destination "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
-t "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" .
- docker push "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
except: except:
- main - main