尝试
def instance_name = instances.get(i)
没有它,就像您只是对 instance_name 的引用一样,该引用在循环后以 3 结尾。那样是同一对象。
结果:
[Pipeline] echoTesting instances: [one, two, three][Pipeline] echoProcessing instance one[Pipeline] echoProcessing instance two[Pipeline] echoProcessing instance three[Pipeline] echotest_nodes: [tk-one:org.jenkinsci.plugins.workflow.cps.CpsClosure2@4cb28325, tk-two:org.jenkinsci.plugins.workflow.cps.CpsClosure2@5bc01979, tk-three:org.jenkinsci.plugins.workflow.cps.CpsClosure2@20c885fe][Pipeline] Execute in parallel : Start[Pipeline] [tk-one] parallel { (Branch: tk-one)[Pipeline] [tk-two] parallel { (Branch: tk-two)[Pipeline] [tk-three] parallel { (Branch: tk-three)[Pipeline] [tk-one] Allocate node : Start[tk-one] Running on master in /var/lib/jenkins/jobs/pipeline/workspace[Pipeline] [tk-two] Allocate node : Start[tk-two] Running on master in /var/lib/jenkins/jobs/pipeline/workspace@2[Pipeline] [tk-three] Allocate node : Start[Pipeline] [tk-one] node {[Pipeline] [tk-two] node {[tk-three] Running on master in /var/lib/jenkins/jobs/pipeline/workspace[Pipeline] [tk-one] stage (stage one)[tk-one] Entering stage stage one[tk-one] Proceeding[Pipeline] [tk-one] echo[tk-one] one[Pipeline] } //node[Pipeline] [tk-two] stage (stage two)[tk-two] Entering stage stage two[tk-two] Proceeding[Pipeline] [tk-two] echo[tk-two] two[Pipeline] } //node[Pipeline] Allocate node : End[Pipeline] [tk-three] node {[Pipeline] Allocate node : End[Pipeline] } //parallel[Pipeline] } //parallel[Pipeline] [tk-three] stage (stage three)[tk-three] Entering stage stage three[tk-three] Proceeding[Pipeline] [tk-three] echo[tk-three] three[Pipeline] } //node[Pipeline] Allocate node : End[Pipeline] } //parallel[Pipeline] Execute in parallel : End[Pipeline] End of PipelineFinished: SUCCESS在此处和此处阅读有关可变范围和绑定机制的内容。



