From c3907a672d6f3098c800e012d845ec6846da25b7 Mon Sep 17 00:00:00 2001 From: "flow.gunso" Date: Fri, 15 Mar 2019 11:14:41 +0100 Subject: [PATCH] Move build/publish scripts to their own shell scripts --- utils/publish/production.sh | 28 ++++++++++++++++++++++++++++ utils/publish/staging.sh | 5 +++++ 2 files changed, 33 insertions(+) create mode 100755 utils/publish/production.sh create mode 100755 utils/publish/staging.sh diff --git a/utils/publish/production.sh b/utils/publish/production.sh new file mode 100755 index 0000000..89eefc0 --- /dev/null +++ b/utils/publish/production.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Restrict production build to tag matching MAJOR.MINOR.REVISION. +if ! [[ "$CI_COMMIT_TAG" =~ ^[0-9]+[.][0-9]+[.][0-9]+$ ]]; then + echo "Version number must match major.minor.revision!" + exit 1 +fi + +# Define MAJOR, MINOR and REVISION version numbers. +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 + +# Build. +docker build \ + -t $CI_REGISTRY_IMAGE:latest \ + -t $CI_REGISTRY_IMAGE:$MAJOR \ + -t $CI_REGISTRY_IMAGE:$MINOR \ + -t $CI_REGISTRY_IMAGE:$REVISION . + +# And push. +docker push $CI_REGISTRY_IMAGE:latest +docker push $CI_REGISTRY_IMAGE:$MAJOR +docker push $CI_REGISTRY_IMAGE:$MINOR +docker push $CI_REGISTRY_IMAGE:$REVISION \ No newline at end of file diff --git a/utils/publish/staging.sh b/utils/publish/staging.sh new file mode 100755 index 0000000..9d7735a --- /dev/null +++ b/utils/publish/staging.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# Just build and push as staging. +docker build -t $CI_REGISTRY_IMAGE:staging . +docker push $CI_REGISTRY_IMAGE:staging \ No newline at end of file