2020-10-07 15:14:48 +00:00
|
|
|
image: docker:19.03.13
|
2020-01-07 14:13:10 +00:00
|
|
|
|
|
|
|
variables:
|
2020-10-07 15:14:48 +00:00
|
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
|
|
|
|
|
|
services:
|
|
|
|
- docker:19.03.13-dind
|
2020-01-07 14:13:10 +00:00
|
|
|
|
|
|
|
stages:
|
|
|
|
- build
|
|
|
|
- push
|
|
|
|
|
2020-10-07 15:14:48 +00:00
|
|
|
.reg_setup:
|
|
|
|
before_script:
|
|
|
|
- apk add --no-cache curl
|
|
|
|
- curl --fail --show-error --location "https://github.com/genuinetools/reg/releases/download/v$REG_VERSION/reg-linux-amd64" --output /usr/local/bin/reg
|
|
|
|
- echo "$REG_SHA256 /usr/local/bin/reg" | sha256sum -c -
|
|
|
|
- chmod a+x /usr/local/bin/reg
|
|
|
|
variables:
|
|
|
|
REG_SHA256: ade837fc5224acd8c34732bf54a94f579b47851cc6a7fd5899a98386b782e228
|
|
|
|
REG_VERSION: 0.16.1
|
2020-01-07 14:13:10 +00:00
|
|
|
|
2020-10-07 15:14:48 +00:00
|
|
|
build_image:
|
2020-01-07 14:13:10 +00:00
|
|
|
script:
|
2020-10-07 15:14:48 +00:00
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
|
|
- docker build -t $INTERMEDIATE_IMAGE_TAG .
|
|
|
|
- docker push $INTERMEDIATE_IMAGE_TAG
|
2020-01-07 14:13:10 +00:00
|
|
|
stage: build
|
|
|
|
tags:
|
2020-10-07 15:14:48 +00:00
|
|
|
- docker
|
|
|
|
variables:
|
|
|
|
INTERMEDIATE_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
2020-01-07 14:13:10 +00:00
|
|
|
|
2020-10-07 15:14:48 +00:00
|
|
|
push_master:
|
|
|
|
extends:
|
|
|
|
- .reg_setup
|
2020-01-07 14:13:10 +00:00
|
|
|
only:
|
|
|
|
- master
|
|
|
|
script:
|
2020-10-07 15:14:48 +00:00
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
|
|
- docker pull $INTERMEDIATE_IMAGE_TAG
|
|
|
|
- /usr/local/bin/reg rm -d --auth-url $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $INTERMEDIATE_IMAGE_TAG
|
|
|
|
- docker tag $INTERMEDIATE_IMAGE_TAG $IMAGE_TAG
|
|
|
|
- docker push $IMAGE_TAG
|
2020-01-07 14:13:10 +00:00
|
|
|
stage: push
|
|
|
|
tags:
|
2020-10-07 15:14:48 +00:00
|
|
|
- docker
|
|
|
|
variables:
|
|
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:latest
|
|
|
|
INTERMEDIATE_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
2020-01-07 14:13:10 +00:00
|
|
|
|
2020-10-07 15:14:48 +00:00
|
|
|
push_other:
|
|
|
|
extends:
|
|
|
|
- .reg_setup
|
|
|
|
except:
|
|
|
|
- master
|
2020-01-07 14:13:10 +00:00
|
|
|
only:
|
2020-10-07 15:14:48 +00:00
|
|
|
- branches
|
2020-01-07 14:13:10 +00:00
|
|
|
- tags
|
|
|
|
script:
|
2020-10-07 15:14:48 +00:00
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
|
|
- docker pull $INTERMEDIATE_IMAGE_TAG
|
|
|
|
- /usr/local/bin/reg rm -d --auth-url $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $INTERMEDIATE_IMAGE_TAG
|
|
|
|
- docker tag $INTERMEDIATE_IMAGE_TAG $IMAGE_TAG
|
|
|
|
- docker push $IMAGE_TAG
|
2020-01-07 14:13:10 +00:00
|
|
|
stage: push
|
|
|
|
tags:
|
2020-10-07 15:14:48 +00:00
|
|
|
- docker
|
|
|
|
variables:
|
|
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
|
|
|
|
INTERMEDIATE_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|