Files
spring-cloud-app-broker/ci/scripts/promote.sh
Alberto Rios 7b8c877cf0 Adding release pipeline
Integrating existing pipeline with a new release pipeline

It is composed by three different groups:

- The first group is a basic build so that we can always be sure which build we will be getting when releasing, followed by the acceptance tests.

- The second group are the releases.

- The last group is the CI image used by the different tasks.
2019-08-28 17:44:26 +02:00

40 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
# shellcheck source=scripts/common.sh
source "$(dirname "$0")/common.sh"
buildName=$(cat artifactory-repo/build-info.json | jq -r '.buildInfo.name')
buildNumber=$(cat artifactory-repo/build-info.json | jq -r '.buildInfo.number')
version=$(cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/')
if [[ $RELEASE_TYPE == "M" ]]; then
targetRepo="libs-milestone-local"
elif [[ $RELEASE_TYPE == "RC" ]]; then
targetRepo="libs-milestone-local"
elif [[ $RELEASE_TYPE == "RELEASE" ]]; then
targetRepo="libs-release-local"
else
echo "Unknown release type $RELEASE_TYPE" >&2
exit 1
fi
echo "Promoting ${buildName}/${buildNumber} to ${targetRepo}"
curl \
-s \
--connect-timeout 240 \
--max-time 900 \
-u "${ARTIFACTORY_USERNAME}":"${ARTIFACTORY_PASSWORD}" \
-H "Content-type:application/json" \
-d "{\"status\": \"staged\", \"sourceRepo\": \"libs-staging-local\", \"targetRepo\": \"${targetRepo}\"}" \
-f \
-X \
POST "${ARTIFACTORY_SERVER}/api/build/promote/${buildName}/${buildNumber}" >/dev/null || {
echo "Failed to promote" >&2
exit 1
}
echo "Promotion complete"
echo $version >version/version