Thanks!
This is indeed another case
of https://issues.jenkins-ci.org/browse/JENKINS-27421
Here is a working snippet:
def branches = [:]
def jobs = [ 'job-1' ]
def jobName
for (int i = 0; i < jobs.size(); i++) {
jobName = jobs[i]
// jobName must be used inside the build job closure
branches[jobName] = { build job: jobName }
}
parallel branches
- David
On Wednesday, July 15, 2015 at 12:41:06 PM UTC+3, Arek Skalski wrote:
>
> Try to use classic:
> for(int i = 0 ; i < jobs.length(); ++i) {...}
>
>
>
> W dniu wtorek, 14 lipca 2015 21:40:08 UTC+2 użytkownik David Resnick
> napisał:
>>
>> I'm trying create jobs to run in parallel in a workflow with this script:
>>
>> def branches = [:]
>> def jobs = [ 'job-1' ]
>> for (job in jobs) {
>> branches[job] = { build job: job }
>> }
>> parallel branches
>>
>> This fails with the below (though it doesn't fail when 'parallel
>> branches' is commented out).
>>
>> How can this be done?
>>
>> Thanks,
>> David
>>
>> Running: Execute sub-workflows in parallel : Start
>> [job-1] Running: Parallel branch: job-1
>> [job-1] Running: Build a Job
>> [job-1] Starting building project: job-1
>> Running: Execute sub-workflows in parallel : Body : End
>> Running: End of Workflow
>> java.io.NotSerializableException: java.util.ArrayList$Itr
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
>> at
>> org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
>> at
>> org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
>> at
>> org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
>> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
>> at java.util.HashMap.internalWriteEntries(HashMap.java:1777)
>> at java.util.HashMap.writeObject(HashMap.java:1354)
>> at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:497)
>> at
>> org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:271)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:976)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
>> at
>> org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
>> at
>> org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
>> at
>> org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
>> at
>> org.jenkinsci.plugins.workflow.support.pickles.serialization.RiverWriter.writeObject(RiverWriter.java:133)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:344)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:328)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:303)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000(CpsThreadGroup.java:71)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:180)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:178)
>> at
>> org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> at
>> hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
>> at
>> jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
>> at
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: an exception which occurred:
>> in field itr
>> in field target
>> in field continue_
>> in field parent
>> in field capture
>> in field def
>> in field closures
>> in object org.jenkinsci.plugins.workflow.cps.CpsThreadGroup@2dbe3b3c
>> Finished: FAILURE
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/e54c95e6-eaac-4594-a9b0-c9947261e422%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.