51 lines
1.3 KiB
Plaintext
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
|