Reorder GitLab CI steps for better configuration and clarity in the release stage
This commit is contained in:
+1
-42
@@ -72,45 +72,4 @@ sonarcloud_scan:
|
|||||||
only:
|
only:
|
||||||
- merge_requests
|
- merge_requests
|
||||||
- develop
|
- develop
|
||||||
|
- tags
|
||||||
perform_release:
|
|
||||||
stage: release
|
|
||||||
script: |
|
|
||||||
apk add --no-cache git
|
|
||||||
cd ${GITLAB_CLONE_DIR}
|
|
||||||
# config auth
|
|
||||||
git remote set-url origin "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/${CI_PROJECT_PATH}.git"
|
|
||||||
git config --global user.name "${GITLAB_USERNAME}"
|
|
||||||
git config --global user.email "${GITLAB_USEREMAIL}"
|
|
||||||
export CI_REF_NAME=${CI_COMMIT_REF_NAME:-release}
|
|
||||||
git checkout -B ${CI_REF_NAME}
|
|
||||||
|
|
||||||
# build versions
|
|
||||||
CURRENT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
|
|
||||||
RELEASE_VERSION=$(echo $CURRENT_VERSION | sed 's/-SNAPSHOT//')
|
|
||||||
MINOR_VERSION=$(echo $RELEASE_VERSION | awk -F. '{print $2}')
|
|
||||||
NEXT_MINOR_VERSION=$((MINOR_VERSION + 1))
|
|
||||||
NEXT_VERSION=$(echo $RELEASE_VERSION | awk -F. -v minor="$NEXT_MINOR_VERSION" '{print $1"."minor".0-SNAPSHOT"}')
|
|
||||||
|
|
||||||
echo "current version: $CURRENT_VERSION"
|
|
||||||
echo "release version: $RELEASE_VERSION"
|
|
||||||
echo "next version: $NEXT_VERSION"
|
|
||||||
|
|
||||||
# process maven release ...
|
|
||||||
mvn release:clean release:prepare release:perform \
|
|
||||||
-B \
|
|
||||||
-DreleaseVersion=$RELEASE_VERSION \
|
|
||||||
-DdevelopmentVersion=$NEXT_VERSION \
|
|
||||||
-Darguments="-DskipTests" \
|
|
||||||
-DscmCommentPrefix="[ci skip] " \
|
|
||||||
-DpreparationGoals="clean verify"
|
|
||||||
|
|
||||||
# generate release
|
|
||||||
curl --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" \
|
|
||||||
--data "name=v${RELEASE_VERSION}" \
|
|
||||||
--data "tag_name=v${RELEASE_VERSION}" \
|
|
||||||
--data "description=Release v${RELEASE_VERSION} of CloudflareDNS-java" \
|
|
||||||
"https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/releases"
|
|
||||||
|
|
||||||
only:
|
|
||||||
- /^pre-v\d+\.\d+\.\d+$/
|
|
||||||
|
|||||||
Reference in New Issue
Block a user