devops/pipline/docker_build_kaniko

51 lines
1.3 KiB
Plaintext

.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