.docker_login: &docker-login - mkdir -p $HOME/.docker - echo "{\"auths\":{\"$REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$REGISTRY_USER" "$REGISTRY_PASSWORD" | base64 | tr -d '\n')\"}}}" > $HOME/.docker/config.json .kaniko_build: &kaniko-build - /kaniko/executor --context "$CONTEXT_PATH" --dockerfile "$DOCKERFILE_PATH" --destination "$DESTINATION" --cache=true .docker_retag: &docker-retag - docker pull $SOURCE_IMAGE - docker tag $SOURCE_IMAGE $TARGET_IAMGE - docker push $TARGET_IAMGE .kaniko_build: stage: build image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] variables: COMMIT_REF_NAME: test CONTEXT_PATH: ${CI_PROJECT_DIR} DOCKERFILE_PATH: ${CI_PROJECT_DIR}/Dockerfile DESTINATION: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_SLUG} REGISTRY: $CI_REGISTRY REGISTRY_USER: $CI_REGISTRY_USER REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD services: - ${DOCKER_IMAGE_DIND} script: - *docker-login - *kaniko-build tags: - docker .docker-retag: stage: retag image: ${DOCKER_IMAGE} variables: REGISTRY: $CI_REGISTRY REGISTRY_USER: $CI_REGISTRY_USER REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD SOURCE_IMAGE: TARGET_IAMGE: services: - ${DOCKER_IMAGE_DIND} script: - *docker-login - *docker-retag