From 53a0e87234257684e4a5bb8b761d23f51313ffd4 Mon Sep 17 00:00:00 2001 From: "kirill.labutin" Date: Thu, 13 Aug 2026 20:22:11 +0300 Subject: [PATCH] + jenkinsfile --- Jenkinsfile | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..a868c5c --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,63 @@ +pipeline { + agent any + + environment { + VERSION = '' + } + + stages { + stage('Set build number into version') { + steps { + script { + def baseVersion = sh( + script: 'mvn -q help:evaluate -Dexpression=project.version -DforceStdout', + returnStdout: true + ).trim() + + def parts = baseVersion.tokenize('.') + parts[parts.size() - 1] = "${env.BUILD_NUMBER}" + env.VERSION = parts.join('.') + + sh "mvn -B versions:set -DnewVersion=${env.VERSION}" + sh 'mvn -B versions:commit' + + echo "Build version: ${env.VERSION}" + } + } + } + + stage('Maven package') { + steps { + sh 'mvn -B clean package' + } + } + + stage('Build docker image') { + steps { + sh "docker build -f docker/Dockerfile -t pfsdn:${env.VERSION} ." + } + } + + stage('Deploy') { + steps { + script { + echo "Saving docker image pfsdn:${env.VERSION}" + sh "docker save pfsdn:${env.VERSION} | gzip > pfsdn-${env.VERSION}.tar.gz" + archiveArtifacts artifacts: "pfsdn-${env.VERSION}.tar.gz", fingerprint: true + + echo "Saving pfapp artifact launcher/target/${env.VERSION}.pfapp" + archiveArtifacts artifacts: "launcher/target/${env.VERSION}.pfapp", fingerprint: true + + echo "TODO: deploy ${env.VERSION}.pfapp to repository (not implemented yet)" + } + } + } + } + + post { + always { + cleanWs() + sh "docker rmi pfsdn:${env.VERSION}" + } + } +}