+ jenkinsfile
This commit is contained in:
parent
b0298ff9cc
commit
53a0e87234
|
|
@ -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}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue