fix jenkinsfile

This commit is contained in:
kirill.labutin 2026-08-13 22:29:14 +03:00
parent 647dfc82f3
commit 9d0dfe4979
1 changed files with 19 additions and 18 deletions

37
Jenkinsfile vendored
View File

@ -1,10 +1,8 @@
@groovy.transform.Field String VERSION
pipeline { pipeline {
agent any agent any
environment {
VERSION = ''
}
stages { stages {
stage('Set build number into version') { stage('Set build number into version') {
steps { steps {
@ -15,12 +13,15 @@ pipeline {
error "Project version not found in pom.xml" error "Project version not found in pom.xml"
} }
def parts = matcher.group(1).tokenize('.') def baseVersion = matcher.group(1)
parts[parts.size() - 1] = env.BUILD_NUMBER echo "Base version from pom: ${baseVersion}"
env.VERSION = parts.join('.')
echo "New project version: ${env.VERSION}" def parts = baseVersion.tokenize('.')
sh "mvn -B versions:set -DnewVersion=${env.VERSION}" parts[parts.size() - 1] = env.BUILD_NUMBER
VERSION = parts.join('.')
echo "New project version: ${VERSION}"
sh "mvn -B versions:set -DnewVersion=${VERSION}"
sh 'mvn -B versions:commit' sh 'mvn -B versions:commit'
} }
} }
@ -34,21 +35,21 @@ pipeline {
stage('Build docker image') { stage('Build docker image') {
steps { steps {
sh "docker build -f docker/Dockerfile -t pfsdn:${env.VERSION} ." sh "docker build -f docker/Dockerfile -t pfsdn:${VERSION} ."
} }
} }
stage('Deploy') { stage('Deploy') {
steps { steps {
script { script {
echo "Saving docker image pfsdn:${env.VERSION}" echo "Saving docker image pfsdn:${VERSION}"
sh "docker save pfsdn:${env.VERSION} | gzip > pfsdn-${env.VERSION}.tar.gz" sh "docker save pfsdn:${VERSION} | gzip > pfsdn-${VERSION}.tar.gz"
archiveArtifacts artifacts: "pfsdn-${env.VERSION}.tar.gz", fingerprint: true archiveArtifacts artifacts: "pfsdn-${VERSION}.tar.gz", fingerprint: true
echo "Saving pfapp artifact launcher/target/${env.VERSION}.pfapp" echo "Saving pfapp artifact launcher/target/${VERSION}.pfapp"
archiveArtifacts artifacts: "launcher/target/${env.VERSION}.pfapp", fingerprint: true archiveArtifacts artifacts: "launcher/target/${VERSION}.pfapp", fingerprint: true
echo "TODO: deploy ${env.VERSION}.pfapp to repository (not implemented yet)" echo "TODO: deploy ${VERSION}.pfapp to repository (not implemented yet)"
} }
} }
} }
@ -57,8 +58,8 @@ pipeline {
post { post {
always { always {
script { script {
if (env.VERSION ==~ /^\d+\.\d+\.\d+\.\d+$/) { if (VERSION ==~ /^\d+\.\d+\.\d+\.\d+$/) {
sh "docker rmi pfsdn:${env.VERSION} || true" sh "docker rmi pfsdn:${VERSION} || true"
} }
} }
cleanWs() cleanWs()