Hi!

I'm using the following Pipeline script:

testruns = [:]
for (name in ["one", "two", "three"]) {
  print("Adding ${name} to testruns")
  testruns[name] = { print("Staring phase ${name}"); sleep 10; 
print("Finished phase ${name}")}
}

pipeline {
  agent { label 'master' }
  stages {
    stage("Parallelism") {
      steps {
        script {
          parallel testruns
        }
      }
    }
  }
}

I'm expecting to run those three dynamically created closures in parallel. 
But it appears that all closures were created using only the last field 
("three"). Console output:

Started by user ...
[Pipeline] echo
Adding one to testruns
[Pipeline] echo
Adding two to testruns
[Pipeline] echo
Adding three to testruns
[Pipeline] node
Running on master in ...
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Parallelism)
[Pipeline] script
[Pipeline] {
[Pipeline] parallel
[Pipeline] [one] { (Branch: one)
[Pipeline] [two] { (Branch: two)
[Pipeline] [three] { (Branch: three)
[Pipeline] [one] echo
[one] Staring phase three
[Pipeline] [one] sleep
[one] Sleeping for 10 sec
[Pipeline] [two] echo
[two] Staring phase three
[Pipeline] [two] sleep
[two] Sleeping for 10 sec
[Pipeline] [three] echo
[three] Staring phase three
[Pipeline] [three] sleep
[three] Sleeping for 10 sec
[Pipeline] [one] echo
[one] Finished phase three
[Pipeline] [one] }
[Pipeline] [two] echo
[two] Finished phase three
[Pipeline] [two] }
[Pipeline] [three] echo
[three] Finished phase three
[Pipeline] [three] }
[Pipeline] // parallel
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS


Please note that all phases are saying "three":

[*two*] Finished phase *three*

I was thinking that maybe there's a need for some kind of splat operator on 
argument for "parallel", but pipeline parallel example 
<https://jenkins.io/doc/pipeline/examples/#jobs-in-parallel> doesn't use it 
(and when I tried I got java.lang.UnsupportedOperationException)

What am I not seeing here? Why the closures are not created properly?

-- 
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/9fe68722-9d88-4077-89ec-65aa786912aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to