--- # https://github.com/GoogleContainerTools/kaniko # DEV image&tag: the one to always be used for followup jobs (in branches, master, tags etc) # global variable for easy override include: - remote: https://jobs.just-ci.dev/v5.5.0-beta.1/container/image.yml variables: KANIKO_EXTRA_ARGS: "" # See https://github.com/GoogleContainerTools/kaniko#additional-flags .kaniko: stage: build extends: .container:rules image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: - echo "[*] Building and pushing '${IMAGE_CONTAINERFILE}' in context '${IMAGE_CONTEXT}' to '${IMAGE_NAME}:${IMAGE_DEV_TAG}' and '${IMAGE_NAME}:${IMAGE_TAG}'." - if [ "${KANIKO_EXTRA_ARGS}" != "" ]; then echo "[*] Applying the extra arguments '${KANIKO_EXTRA_ARGS}'."; fi - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64)\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --cache=${IMAGE_CACHE} --context=${IMAGE_CONTEXT} --dockerfile=${IMAGE_CONTAINERFILE} --destination=${IMAGE_NAME}:${IMAGE_DEV_TAG} --destination=${IMAGE_NAME}:${IMAGE_TAG} ${KANIKO_EXTRA_ARGS} # default for polyrepos kaniko: extends: .kaniko # monorepos: user should extend this hidden job (one job for each container) .kaniko:monorepo: extends: .kaniko variables: CONTEXT_PATH: changeme IMAGE_NAME: ${CI_REGISTRY_IMAGE}/${CONTEXT_PATH} IMAGE_CONTEXT: ${CI_PROJECT_DIR}/${CONTEXT_PATH} IMAGE_CONTAINERFILE: ${CI_PROJECT_DIR}/${CONTEXT_PATH}/Dockerfile