2019-09-16 13:39:02 +00:00
|
|
|
image: docker:stable
|
2019-09-16 13:30:11 +00:00
|
|
|
|
|
|
|
services:
|
2019-09-16 13:39:02 +00:00
|
|
|
- docker:stable-dind
|
|
|
|
|
2019-06-04 10:18:31 +00:00
|
|
|
stages:
|
|
|
|
- build
|
|
|
|
- push
|
|
|
|
|
2020-09-23 13:52:24 +00:00
|
|
|
variables:
|
|
|
|
DOCKER_DRIVER: overlay2
|
|
|
|
|
|
|
|
.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
|
2019-06-04 10:18:31 +00:00
|
|
|
|
2020-09-21 12:46:03 +00:00
|
|
|
build_image:
|
2019-06-04 10:18:31 +00:00
|
|
|
script:
|
2020-09-23 13:52:24 +00:00
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker build -t $INTERMEDIATE_IMAGE_TAG .
|
|
|
|
- docker push $INTERMEDIATE_IMAGE_TAG
|
2019-06-04 10:18:31 +00:00
|
|
|
stage: build
|
|
|
|
tags:
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker
|
|
|
|
variables:
|
2020-09-21 13:02:04 +00:00
|
|
|
INTERMEDIATE_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
2019-06-04 10:18:31 +00:00
|
|
|
|
2020-09-21 12:46:03 +00:00
|
|
|
push_master:
|
2020-09-23 13:52:24 +00:00
|
|
|
extends:
|
|
|
|
- .reg_setup
|
2019-06-04 10:18:31 +00:00
|
|
|
only:
|
|
|
|
- master
|
|
|
|
script:
|
2020-09-23 13:52:24 +00:00
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker pull $INTERMEDIATE_IMAGE_TAG
|
2020-09-23 13:52:24 +00:00
|
|
|
- /usr/local/bin/reg rm -d --auth-url $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $INTERMEDIATE_IMAGE_TAG
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker tag $INTERMEDIATE_IMAGE_TAG $IMAGE_TAG
|
|
|
|
- docker push $IMAGE_TAG
|
2019-06-04 10:18:31 +00:00
|
|
|
stage: push
|
|
|
|
tags:
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker
|
|
|
|
variables:
|
|
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:latest
|
2020-09-21 13:02:04 +00:00
|
|
|
INTERMEDIATE_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
2019-06-04 10:18:31 +00:00
|
|
|
|
2020-09-21 12:46:03 +00:00
|
|
|
push_other:
|
2020-09-23 13:52:24 +00:00
|
|
|
extends:
|
|
|
|
- .reg_setup
|
2020-09-21 12:46:03 +00:00
|
|
|
except:
|
|
|
|
- master
|
2019-06-04 10:18:31 +00:00
|
|
|
only:
|
2020-09-21 12:46:03 +00:00
|
|
|
- branches
|
2019-06-04 10:18:31 +00:00
|
|
|
- tags
|
|
|
|
script:
|
2020-09-23 13:52:24 +00:00
|
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker pull $INTERMEDIATE_IMAGE_TAG
|
2020-09-23 13:52:24 +00:00
|
|
|
- /usr/local/bin/reg rm -d --auth-url $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $INTERMEDIATE_IMAGE_TAG
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker tag $INTERMEDIATE_IMAGE_TAG $IMAGE_TAG
|
|
|
|
- docker push $IMAGE_TAG
|
2019-06-04 10:18:31 +00:00
|
|
|
stage: push
|
2019-03-13 17:17:08 +00:00
|
|
|
tags:
|
2020-09-21 12:46:03 +00:00
|
|
|
- docker
|
|
|
|
variables:
|
|
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:CI_COMMIT_REF_NAME
|
2020-09-21 13:02:04 +00:00
|
|
|
INTERMEDIATE_IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|