3 steps can be used to control a jenkins pipeline
Stage
Lock
Milestone
stage the stage step remains but is now focused on grouping steps and providing boundaries for Pipeline segments.
example
stage('Build') {
steps{
script{
startbuild()
sh "echo $PATH"
}
}
}
}
This creates a simple visualize view in "stage view" of your pipeline plugin called build. which executes the startbuild() function
Lock this step limits concurency to a single build
stage('Build') {
steps{
script{
startbuild()
lock('lockedresource'){
sh "echo $PATH"
}
}
}
}
}
Lock can be used for restricting steps in a stage or for wrapping multiple stages to a single run path.
milestone ensures that older builds of a job do not overwrite a newer build
example
Build 1 is triggered
Build 2 is triggered
Build 2 builds faster than Build 1 and enters the Test stage sooner.
Rather than allowing Build 1 to continue and possibly overwrite the newer artifact produced in Build 2, you can use the milestone step to abort Build 1:
stage('Build') {
milestone()
echo "Building"
}
stage('Test') {
milestone()
echo "Testing"
}