-
Bug
-
Resolution: Fixed
-
Major
-
None
-
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.