diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a70ed2e72ed10864ae22b5ed217d40c3755d002a..c68346ab06372b47aeebd2c7b21541eba73eeb23 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,19 +1,44 @@ +image: docker:20 services: - - docker:dind + - docker:20-dind stages: - build + - release - deploy +variables: + CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest + CONTAINER_QA_IMAGE: $CI_REGISTRY_IMAGE:nightly + +before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + build: stage: build - variables: - IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build -t $IMAGE_TAG . - - docker push $IMAGE_TAG + - docker build -t $CONTAINER_TEST_IMAGE . + - docker push $CONTAINER_TEST_IMAGE + only: + - main + - develop + - /^release-.*$/ + +release_prod: + stage: release + script: + - docker pull $CONTAINER_TEST_IMAGE + - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE + - docker push $CONTAINER_RELEASE_IMAGE only: - main + +release_qa: + stage: release + script: + - docker pull $CONTAINER_TEST_IMAGE + - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE + - docker push $CONTAINER_QA_IMAGE + only: - develop - - /^release-.*$/ \ No newline at end of file