diff --git a/.gitlab/ci_templates/kaniko.yml b/.gitlab/ci_templates/kaniko.yml index 9ea7d296769c52ac8180609ba92d28ac8b081d8b..7165ca4095c376be25ebe3c425568b90f3df07ed 100644 --- a/.gitlab/ci_templates/kaniko.yml +++ b/.gitlab/ci_templates/kaniko.yml @@ -8,6 +8,13 @@ # # - KANIKO_CONTEXT: The subdir which holds the Dockerfile, leave unset if # the Dockerfile is located at root level of the project. +# +# - KANIKO_EXTEND_BASEIMAGE: Name of an image that is build in the same +# pipeline and is being used by your dockerfile as a baseimage. +# You need to specify the argument `baseimage` in your dockerfile and use +# this argument in the `FROM` instruction. +# see [how to use build arguments](https://docs.docker.com/engine/reference/builder/#arg) +# for more information. .kaniko_build: stage: build image: @@ -18,4 +25,5 @@ script: - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - if [ -n "${KANIKO_BUILD_IMAGENAME}" ]; then export IMAGENAME="/${KANIKO_BUILD_IMAGENAME}"; fi - - /kaniko/executor --context ${CI_PROJECT_DIR}/${KANIKO_CONTEXT:-.} --dockerfile ${CI_PROJECT_DIR}/${KANIKO_CONTEXT:-.}/Dockerfile --destination ${CI_REGISTRY_IMAGE}${IMAGENAME}:${CI_COMMIT_REF_NAME} + - if [ -n "${KANIKO_EXTEND_BASEIMAGE}" ]; then export BASEIMAGE="--build-arg baseimage=${CI_REGISTRY_IMAGE}/${KANIKO_EXTEND_BASEIMAGE}:${CI_COMMIT_REF_NAME}"; fi + - /kaniko/executor --context ${CI_PROJECT_DIR}/${KANIKO_CONTEXT:-.} --dockerfile ${CI_PROJECT_DIR}/${KANIKO_CONTEXT:-.}/Dockerfile --destination ${CI_REGISTRY_IMAGE}${IMAGENAME}:${CI_COMMIT_REF_NAME} ${BASEIMAGE}