diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4f656ec..7decde8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,35 +4,23 @@ services: - docker:dind stages: -- build +- build_publish staging: - stage: build + stage: build_publish before_script: - echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin script: - - docker build -t $CI_REGISTRY_IMAGE:staging . - - docker push $CI_REGISTRY_IMAGE:staging + - /bin/bash utils/publish/staging only: - staging production: - stage: build + stage: build_publish before_script: - echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin - - if ! [[ "$CI_COMMIT_TAG" =~ ^[0-9]+[.][0-9]+[.][0-9]+$ ]]; then echo "Version number must match major.minor.revision!"; exit 1; fi script: - - MAJOR_NUMBER=$(echo "$CI_COMMIT_TAG" | awk -F \. {'print $1'}) - - MINOR_NUMBER=$(echo "$CI_COMMIT_TAG" | awk -F \. {'print $2'}) - - REVISION_NUMBER=$(echo "$CI_COMMIT_TAG" | awk -F \. {'print $3'}) - - MAJOR=$MAJOR_NUMBER - - MINOR=$MAJOR.$MINOR_NUMBER - - REVISION=$MINOR.$REVISION_NUMBER - - docker build -t $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$MAJOR -t $CI_REGISTRY_IMAGE:$MINOR -t $CI_REGISTRY_IMAGE:$REVISION . - - docker push $CI_REGISTRY_IMAGE:latest - - docker push $CI_REGISTRY_IMAGE:$MAJOR - - docker push $CI_REGISTRY_IMAGE:$MINOR - - docker push $CI_REGISTRY_IMAGE:$REVISION + - /bin/bash utils/publish/production.sh only: - tags except: