baz*_*000 2 variables parallel-processing groovy jenkins
我正在使用以下脚本运行 Jenkins 构建流程插件:
def builds = [:]
[1,2].each {
builds[it] = { build("test", parm: ("$it")) }
}
parallel builds
Run Code Online (Sandbox Code Playgroud)
然而,虽然哈希 (builds[it]) 被正确填充,但 parm 始终为空。我还尝试过以下操作:
builds[it] = { build("test", parm: $it)) }
builds[it] = { build("test", parm: it)) }
Run Code Online (Sandbox Code Playgroud)
但它始终为空。
任何人都可以给我任何关于如何使用 $it 或构建作业中的任何其他变量的指示。
似乎您在 Build Flow Plugin 中遇到了错误(我在 Pipeline DSL 中也看到过类似的问题)。each不是专家,但它似乎与常规闭包和由或构造提供的外部变量的范围有关foreach。例如(类似于你的例子):
def builds = [:]
[1,2].each {
builds[a] = { print "${it}\n" }
}
parallel builds
Run Code Online (Sandbox Code Playgroud)
印刷:
null
null
Run Code Online (Sandbox Code Playgroud)
尽管:
def builds = [:]
[1,2].each {
def a = it;
builds[a] = { print "${a}\n" }
}
parallel builds
Run Code Online (Sandbox Code Playgroud)
将打印
1
2
Run Code Online (Sandbox Code Playgroud)
正如预期的那样。因此,使用局部变量来存储迭代值。
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |