All checks were successful
Homelab/java-spring-microservice/pipeline/head This commit looks good
73 lines
2.2 KiB
Groovy
73 lines
2.2 KiB
Groovy
|
|
def POD_LABEL="servicedemo-${UUID.randomUUID().toString()}"
|
|
def REGISTRY="docker.home.thejimnicholson.com/servicedemo"
|
|
def POM_VERSION="unknown"
|
|
def MVN_OPTS="-B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
|
|
|
|
|
|
podTemplate(label: POD_LABEL, containers: [
|
|
containerTemplate(
|
|
name: 'maven',
|
|
image: 'maven:3.8.4-openjdk-11',
|
|
command: 'sleep',
|
|
args: '30d'
|
|
),
|
|
containerTemplate(
|
|
name: 'kaniko',
|
|
image: 'gcr.io/kaniko-project/executor:debug',
|
|
command: 'sleep',
|
|
args: '30d'
|
|
)
|
|
], workspaceVolume: dynamicPVC()) {
|
|
node(POD_LABEL) {
|
|
stage('Checkout') {
|
|
checkout scm
|
|
sh "git fetch"
|
|
GIT_HASH = sh (
|
|
script: 'git rev-parse --short HEAD',
|
|
returnStdout: true
|
|
).trim()
|
|
GIT_TAG = sh (
|
|
script: 'git describe --tags --always --dirty=-dirty',
|
|
returnStdout: true
|
|
).trim()
|
|
|
|
container('maven') {
|
|
stage('Prep') {
|
|
sh """
|
|
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=fr.brouillard.oss:jgitver:0.14.0:jar:executable ${MVN_OPTS}
|
|
"""
|
|
}
|
|
stage('Build') {
|
|
sh """
|
|
mvn clean package -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
|
|
"""
|
|
POM_VERSION=sh (
|
|
script: "java -jar /root/.m2/repository/fr/brouillard/oss/jgitver/0.14.0/jgitver-0.14.0-executable.jar",
|
|
returnStdout: true
|
|
)
|
|
}
|
|
}
|
|
container('kaniko') {
|
|
stage('Image') {
|
|
ansiColor('xterm') {
|
|
sh "/kaniko/executor \
|
|
-f `pwd`/Dockerfile \
|
|
-c `pwd` \
|
|
--insecure \
|
|
--skip-tls-verify \
|
|
--tarPath ./target/servicedemo-${POM_VERSION}.image.tar \
|
|
--destination=${REGISTRY}/servicedemo:${POM_VERSION} \
|
|
--destination=${REGISTRY}/servicedemo:${GIT_HASH}"
|
|
|
|
}
|
|
}
|
|
stage('Archive') {
|
|
archiveArtifacts artifacts: 'target/*.tar', followSymlinks: false
|
|
archiveArtifacts artifacts: 'target/*.jar', followSymlinks: false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|