-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major
-
Component/s: workflow-cps-plugin, workflow-support-plugin
-
Environment:Jenkins LTS 2.19.1
Pipeline API 2.5
Pipeline Groovy 2.20
Today we updated our plugins to the latest available. This included updating Pipeline API from 2.4 -> 2.5 and Pipleline Groovy 2.19 -> 2.20
After we did that, our parallel builds began failing. We have a series of builds that run exactly the same function on several different label's nodes. Only the first action in the list of items submitted to Parallel works – all of the others result in these errors:
[centos5x32] Failed in branch centos5x32
[centos5] Failed in branch centos5
[macosx1010] Failed in branch macosx1010
The first item in the generated list runs fine – all others in the parallel fail with the "Failed in branch"
Here is the code that sets up the parallel
def nodeNames = ['windows10', 'centos5x32', 'centos5', 'macosx10.10'] // labels for Jenkins node types we will build on
def builders = [:]
for (x in nodeNames) {
def label = x
// Create a map to pass in to the 'parallel' step so we can fire all the builds at once
builders[label] = {
node(label) {
commonBuild(label)
}
}
}
try {
stage ('Parallel Build') {
parallel builders
}
} catch(e) {
currentBuild.result = "FAILED"
throw e
}
Again, this build ran fine right before the plugins were updated, and failed after. Putting this within a method, and then marking that method as @NonCPS seemed to help – it a least allowed all 4 nodes to start in parallel.