Automate Maven release process and version tagging in GitLab CI pipeline
This commit is contained in:
@@ -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}" \
|
||||
|
||||
Reference in New Issue
Block a user