From 0d144b208cb3b8780b603749f8da568dc1ede117 Mon Sep 17 00:00:00 2001 From: Lars Wander Date: Wed, 2 Aug 2017 13:41:50 -0400 Subject: [PATCH] chore(release): Provide promotion process for jar & docker builds --- release/promote-all.sh | 20 ++++++++++++++++++++ release/promote.sh | 33 +++++++++++++++++++++++++++++++++ release/publish.sh | 5 +++-- 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100755 release/promote-all.sh create mode 100755 release/promote.sh diff --git a/release/promote-all.sh b/release/promote-all.sh new file mode 100755 index 0000000000..89e522c4ec --- /dev/null +++ b/release/promote-all.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -e + +SOURCE_VERSION=$1 +TARGET_VERSION=$2 +PLATFORMS=(debian docker) + +USAGE="You must supply the , and : + $0 " + +if [ -z "$SOURCE_VERSION" ] || [ -z "$TARGET_VERSION" ]; then + >&2 echo "$USAGE" + exit 1 +fi + +for PLATFORM in "${PLATFORMS[@]}"; do + echo "Promoting $PLATFORM from $SOURCE_VERSION to $TARGET_VERSION..." + ./release/promote.sh $SOURCE_VERSION $TARGET_VERSION $PLATFORM +done diff --git a/release/promote.sh b/release/promote.sh new file mode 100755 index 0000000000..b89fbf5e26 --- /dev/null +++ b/release/promote.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -e + +SOURCE_VERSION=$1 +TARGET_VERSION=$2 +PLATFORM=$3 + +USAGE="You must supply the , , and : + $0 " + +if [ -z "$SOURCE_VERSION" ] || [ -z "$TARGET_VERSION" ] || [ -z "$PLATFORM" ]; then + >&2 echo "$USAGE" + exit 1 +fi + +if [ "$PLATFORM" = "docker" ]; then + SOURCE_IMAGE=halyard gcr.io/spinnaker-marketplace/halyard:$SOURCE_VERSION + TARGET_IMAGE=halyard gcr.io/spinnaker-marketplace/halyard:$TARGET_VERSION + + docker pull $SOURCE_IMAGE + docker tag $SOURCE_IMAGE $TARGET_IMAGE + gcloud docker -- push $TARGET_IMAGE +else + SOURCE_PATH=gs://spinnaker-artifacts/halyard/$SOURCE_VERSION/$PLATFORM/halyard.tar.gz + TARGET_PATH=gs://spinnaker-artifacts/halyard/$TARGET_VERSION/$PLATFORM/halyard.tar.gz + + gsutil cp $SOURCE_PATH halyard.tar.gz + gsutil cp halyard.tar.gz $TARGET_PATH + gsutil acl ch -u AllUsers:R $TARGET_PATH + + rm halyard.tar.gz +fi diff --git a/release/publish.sh b/release/publish.sh index bfa6cbbcb4..42995abcad 100755 --- a/release/publish.sh +++ b/release/publish.sh @@ -20,8 +20,9 @@ fi ./release/$PLATFORM.sh if [ "$PLATFORM" = "docker" ]; then - docker tag halyard gcr.io/spinnaker-marketplace/halyard:$VERSION - gcloud docker -- push gcr.io/spinnaker-marketplace/halyard:$VERSION + IMAGE=halyard gcr.io/spinnaker-marketplace/halyard:$VERSION + docker tag $IMAGE + gcloud docker -- push $IMAGE else BUCKET_PATH=gs://spinnaker-artifacts/halyard/$VERSION/$PLATFORM/halyard.tar.gz