fix: Try to separate tag and push tasks
This commit is contained in:
parent
bb62798edb
commit
ef0e8d54d3
1 changed files with 25 additions and 12 deletions
|
@ -1,6 +1,7 @@
|
||||||
stages:
|
stages:
|
||||||
- prebuild_and_test
|
- prebuild_and_test
|
||||||
- deploy
|
- tag
|
||||||
|
- push_image
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
|
@ -15,28 +16,40 @@ variables:
|
||||||
DOCKER_TLS_CERTDIR: "/certs"
|
DOCKER_TLS_CERTDIR: "/certs"
|
||||||
DOCKER_HOST: tcp://docker:2376
|
DOCKER_HOST: tcp://docker:2376
|
||||||
|
|
||||||
services:
|
|
||||||
- name: postgres:12
|
|
||||||
- name: docker:19.03.12-dind
|
|
||||||
|
|
||||||
prebuild:
|
prebuild:
|
||||||
stage: prebuild_and_test
|
stage: prebuild_and_test
|
||||||
image: docker:19.03.12
|
image: docker:19.03.12
|
||||||
|
services:
|
||||||
|
- name: docker:19.03.12-dind
|
||||||
script:
|
script:
|
||||||
|
- docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
|
||||||
- docker pull $CI_REGISTRY_IMAGE:latest || true
|
- docker pull $CI_REGISTRY_IMAGE:latest || true
|
||||||
- docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE .
|
- docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
|
||||||
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
||||||
|
|
||||||
test:
|
test:
|
||||||
stage: prebuild_and_test
|
stage: prebuild_and_test
|
||||||
image: "elixir:1.10"
|
image: "elixir:1.10"
|
||||||
|
services:
|
||||||
|
- name: postgres:12
|
||||||
script: script/cibuild
|
script: script/cibuild
|
||||||
|
|
||||||
deploy:
|
deploy_to_tags:
|
||||||
stage: deploy
|
stage: tag
|
||||||
image: "cimg/node:15.0"
|
image: "node:15.0"
|
||||||
script:
|
script:
|
||||||
- docker -v
|
|
||||||
- npm install
|
- npm install
|
||||||
- echo "Attempting login to https://${CI_REGISTRY}"
|
|
||||||
- docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
|
|
||||||
- npx semantic-release
|
- npx semantic-release
|
||||||
|
|
||||||
|
deploy_to_registry:
|
||||||
|
stage: push_image
|
||||||
|
image: "docker:19.03.12"
|
||||||
|
services:
|
||||||
|
- name: docker:19.03.12-dind
|
||||||
|
only: tags
|
||||||
|
script:
|
||||||
|
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
|
||||||
|
- docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
- docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
|
||||||
|
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
|
||||||
|
- docker push $CI_REGISTRY_IMAGE:latest
|
||||||
|
|
Loading…
Reference in a new issue