I have code like the following: (obviously more complicated, but this shows 
the problem)

for (int i = 0; i < list.size(); i++) {
    thing = list.get(i)
    print thing
    branches[thing] = {
        node {
            print thing
    } 
}
parallel branches

As it's building the branches, it prints out each thing in the list in 
order as I would expect.  When it actually *executes* the branches, it 
prints the last thing in the list for as many items there are in the list. 
 From what I understand, that's because it's executing the value of the 
external variable at the time the job is run, rather than what it was at 
the time the branch was built.  Which I believe is the correct behavior, so 
I'm probably approaching this the wrong way.

What would be the correct way to run several parallel tasks on different 
items in a list?  Is there a way to built the code block for each branch so 
it has the *value* of the variable when I'm building it rather than the 
*variable itself*?

-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/07ff466f-183c-4c16-bdf2-8402e9ecf451%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to