Created
December 30, 2020 07:56
-
-
Save initcron/0b19e4eb6bd2e985aacc5e27b3319e8f to your computer and use it in GitHub Desktop.
worker/jenkinsfile with Per stage agent as well as conditional execution.
This file contains hidden or 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
pipeline { | |
agent none | |
stages{ | |
stage("build"){ | |
when{ | |
changeset "**/worker/**" | |
} | |
agent{ | |
docker{ | |
image 'maven:3.6.1-jdk-8-slim' | |
args '-v $HOME/.m2:/root/.m2' | |
} | |
} | |
steps{ | |
echo 'Compiling worker app..' | |
dir('worker'){ | |
sh 'mvn compile' | |
} | |
} | |
} | |
stage("test"){ | |
when{ | |
changeset "**/worker/**" | |
} | |
agent{ | |
docker{ | |
image 'maven:3.6.1-jdk-8-slim' | |
args '-v $HOME/.m2:/root/.m2' | |
} | |
} | |
steps{ | |
echo 'Running Unit Tets on worker app..' | |
dir('worker'){ | |
sh 'mvn clean test' | |
} | |
} | |
} | |
stage("package"){ | |
when{ | |
branch 'master' | |
changeset "**/worker/**" | |
} | |
agent{ | |
docker{ | |
image 'maven:3.6.1-jdk-8-slim' | |
args '-v $HOME/.m2:/root/.m2' | |
} | |
} | |
steps{ | |
echo 'Packaging worker app' | |
dir('worker'){ | |
sh 'mvn package -DskipTests' | |
archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true | |
} | |
} | |
} | |
stage('docker-package'){ | |
agent any | |
when{ | |
changeset "**/worker/**" | |
branch 'master' | |
} | |
steps{ | |
echo 'Packaging worker app with docker' | |
script{ | |
docker.withRegistry('https://index.docker.io/v1/', 'dockerlogin') { | |
def workerImage = docker.build("initcron/worker:v${env.BUILD_ID}", "./worker") | |
workerImage.push() | |
workerImage.push("${env.BRANCH_NAME}") | |
workerImage.push("latest") | |
} | |
} | |
} | |
} | |
} | |
post{ | |
always{ | |
echo 'Building multibranch pipeline for worker is completed..' | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment