Automate Maven release process and version tagging in GitLab CI pipeline

This commit is contained in:
2025-08-19 10:19:26 +02:00
parent 31c2910c93
commit 5383aa4c1c
+5
View File
@@ -80,8 +80,11 @@ perform_release:
cd ${GITLAB_CLONE_DIR}
git config --global user.name "${GITLAB_USERNAME}"
git config --global user.email "${GITLAB_USEREMAIL}"
# config auth
git remote set-url origin "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/${CI_PROJECT_PATH}.git"
# 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}')
@@ -92,6 +95,7 @@ perform_release:
echo "release version: $RELEASE_VERSION"
echo "next version: $NEXT_VERSION"
# process maven release ...
mvn release:clean release:prepare release:perform \
-B \
-DreleaseVersion=$RELEASE_VERSION \
@@ -100,6 +104,7 @@ perform_release:
-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}" \