Skip to content

Instantly share code, notes, and snippets.

@matrixcloud
Created November 1, 2023 06:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matrixcloud/2427b64a8e3d0d897f9f5ebe8d7b321b to your computer and use it in GitHub Desktop.
Save matrixcloud/2427b64a8e3d0d897f9f5ebe8d7b321b to your computer and use it in GitHub Desktop.
Jenkins pipline to build different artifacts
def get_version() {
if (env.TAG_NAME?.trim()) {
return "$TAG_NAME"
}
def baseVersion = sh(script: "mvn help:evaluate -Dexpression=project.version | grep -e '^[^\\[]'", returnStdout: true).trim()
if (env.BRANCH_NAME == 'master') {
return "$baseVersion-rc.$BUILD_NUMBER"
} else {
return "$baseVersion-alpha.$GERRIT_CHANGE_NUMBER-SNAPSHOT"
}
}
pipeline {
agent {
docker {
image 'maven:3.6.3-openjdk-8'
args '-v /mnt/jenkins-vol/.m2:/root/.m2'
}
}
options {
skipStagesAfterUnstable()
}
stages {
stage('Build & Check') {
parallel {
stage('Build') {
steps {
gerritReview labels: [Verified: 0]
script {
def version = get_version()
sh "mvn versions:set -DnewVersion=$version"
sh 'mvn -T 6 -B clean install'
}
}
}
stage('Check Style') {
when {
not {
branch 'master'
}
}
steps {
gerritReview labels: ['Code-Style': 0]
sh 'mvn -T 6 spotless:check'
}
post {
success {
gerritReview labels: ['Code-Style': 1]
}
unstable { gerritReview labels: ['Code-Style': 0], message: 'Check Style is unstable' }
failure {
gerritReview labels: ['Code-Style': -1]
}
}
}
}
}
stage('Publish Artifacts') {
steps {
sh 'mvn deploy -DdeployOnly'
}
}
}
post {
success {
gerritReview labels: [Verified: 1]
}
unstable { gerritReview labels: [Verified: 0], message: 'Build is unstable' }
failure {
gerritReview labels: [Verified: -1]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment