From 5383aa4c1cc79a27e92a7d41a4adc0a6946249c2 Mon Sep 17 00:00:00 2001 From: Thilo Schwarz Date: Tue, 19 Aug 2025 10:19:26 +0200 Subject: [PATCH] Automate Maven release process and version tagging in GitLab CI pipeline --- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 754af7d..c7fb2d8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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}" \