Update insurance/Jenkinsfile.InsuranceBe

This commit is contained in:
2025-08-26 11:46:10 +08:00
parent 1e25df7f9b
commit 8585b8e222

View File

@@ -25,43 +25,36 @@ pipeline {
stage('Increase Version') {
steps {
script {
// disable colors so no CTRL chars pollute version string
def currentVersion = sh(
script: "mvn --batch-mode -Dstyle.color=never help:evaluate -Dexpression=project.version -q -DforceStdout",
returnStdout: true
).trim()
echo "Current version: ${currentVersion}"
def major = sh(
script: "mvn --batch-mode -Dstyle.color=never help:evaluate -Dexpression=parsedVersion.majorVersion -q -DforceStdout",
returnStdout: true
).trim()
def minor = sh(
script: "mvn --batch-mode -Dstyle.color=never help:evaluate -Dexpression=parsedVersion.minorVersion -q -DforceStdout",
returnStdout: true
).trim()
def nextInc = sh(
script: "mvn --batch-mode -Dstyle.color=never help:evaluate -Dexpression=parsedVersion.nextIncrementalVersion -q -DforceStdout",
returnStdout: true
).trim()
def newVersion = "${major}.${minor}.${nextInc}-SNAPSHOT"
echo "New version: ${newVersion}"
env.NEW_VERSION = newVersion
// Get current version safely
def currentVersion = sh(script: "mvn --batch-mode -Dstyle.color=never help:evaluate -Dexpression=project.version -q -DforceStdout", returnStdout: true).trim()
if (!currentVersion) {
error "Unable to retrieve current version from pom.xml"
}
echo "Current version: '${currentVersion}'"
// Increment version using build-helper and versions plugin
sh """
mvn --batch-mode -Dstyle.color=never versions:set -DnewVersion=${newVersion} versions:commit
mvn --batch-mode build-helper:parse-version versions:set \
-DnewVersion='\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT' \
versions:commit
"""
// Read the new version
def newVersion = sh(script: "mvn --batch-mode -Dstyle.color=never help:evaluate -Dexpression=project.version -q -DforceStdout", returnStdout: true).trim()
echo "New version: '${newVersion}'"
// Push updated pom.xml
withCredentials([usernamePassword(credentialsId: env.GITEA_CREDENTIALS, usernameVariable: 'GIT_USER', passwordVariable: 'GIT_PASS')]) {
sh """
git config user.name "Jenkins"
git config user.email "jenkins@hzwnrw.my"
git config user.name "Jenkins"
git add pom.xml
git commit -m "Auto-increment version to ${newVersion}" || echo "No changes"
git commit -m "Auto-increment version to ${newVersion}" || echo "No changes to commit"
git push https://${GIT_USER}:${GIT_PASS}@git.hzwnrw.my/Insurance/insurance-be.git HEAD:main
"""
}
env.NEW_VERSION = newVersion
}
}
}
@@ -70,13 +63,14 @@ pipeline {
steps {
script {
sh "mvn clean package -DskipTests -B -Dstyle.color=never"
def dockerImage = "hzwnrw/dev:insurance-backend-${env.NEW_VERSION}"
echo "Building Docker image: ${dockerImage}"
sh "docker build -t ${dockerImage} ."
withCredentials([usernamePassword(credentialsId: env.REGISTRY_CREDENTIALS, usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
sh "echo ${DOCKER_PASS} | docker login -u ${DOCKER_USER} --password-stdin"
}
sh "docker push ${dockerImage}"
env.DOCKER_IMAGE = dockerImage
}