Created
November 1, 2023 06:35
-
-
Save matrixcloud/2427b64a8e3d0d897f9f5ebe8d7b321b to your computer and use it in GitHub Desktop.
Jenkins pipline to build different artifacts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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