Last active
October 24, 2024 17:13
-
-
Save chinshr/aa87da01ec28335e3ffd to your computer and use it in GitHub Desktop.
Best of Jenkinsfile, a collection of useful workflow scripts ready to be copied into your Jenkinsfile on a per use basis.
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
#!groovy | |
# Best of Jenkinsfile | |
# `Jenkinsfile` is a groovy script DSL for defining CI/CD workflows for Jenkins | |
node { | |
} |
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
# Jenkinsfile | |
# Build and test a Maven project | |
node { | |
git url: 'https://github.com/user/repo.git' | |
def mvnHome = tool 'M3' | |
sh "${mvnHome}/bin/mvn -B -Dmaven.test.failure.ignore verify" | |
step([$class: 'JUnitResultArchiver', testResults: | |
'**/target/foobar/TEST-*.xml']) | |
} |
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
# Jenkinsfile | |
# Verify a Maven project | |
node { | |
git url: 'https://github.com/user/repo.git' | |
def mvnHome = tool 'M3' | |
sh "${mvnHome}/bin/mvn -B verify" | |
} |
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
stage "unit test" | |
node { | |
git "[email protected]:michaelneale/oaks-trail-ride.git" | |
sh "echo unit test app" | |
} | |
stage "test on supported OSes" | |
parallel ( | |
windows: { node { | |
sh "echo building on windows now" | |
}}, | |
mac: { node { | |
sh "echo building on mac now" | |
}} |
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
node { | |
for (int i=0; i< 2; ++i) { | |
stage "Stage #"+i | |
print 'Hello, world $i!' | |
} | |
stage "Stage Parallel" | |
def branches = [:] | |
for (int i = 0; i < numHelloMessages.toInteger(); i++) { | |
branches["split${i}"] = { | |
stage "Stage parallel- #"+i | |
node('remote') { | |
echo 'Starting sleep' | |
sleep 10 | |
echo 'Finished sleep' | |
} | |
} | |
} | |
parallel branches | |
} |
stage ('pass params') {
def paramAValue = "paramAValue"
...
}
etc.
Also try:
echo paramA not print "${env.paramA}"
The preferred method of getting job parameters is to use the "params" map.
So use echo params.paramA
Can someone please give an example of jenkins file which shows how to connect to jenkins slave and execute the shell scripts and python scripts residing in jenkins slave itself.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi guys, Can you give an example to pass parameters from one job to another job? (Pipeline project)
I have been stuck with this for a while now, kindly provide suggestions.
I'm trying the below, which did not work for me:(
Project Name: test2
node() {
stage 'pass params'
paramAValue = "paramAValue"
paramBValue = "paramBValue"
build job: 'test3', parameters: [[$class: 'StringParameterValue', name: 'ParamA', value: paramAValue], [$class: 'StringParameterValue', name: 'ParamB', value: paramBValue]]
}
Project Name: test3
node() {
stage 'retrieve params'
print "${env.paramA}"
}