Call the build/publish scripts with bash
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user