gpt4 book ai didi

variables - Jenkins Groovy 并行变量不工作

转载 作者:行者123 更新时间:2023-12-02 00:48:23 25 4
gpt4 key购买 nike

我正在使用以下脚本运行 Jenkins Build Flow 插件:

def builds = [:]

[1,2].each {
builds[it] = { build("test", parm: ("$it")) }
}

parallel builds

然而,虽然散列 (builds[it]) 被正确填充,但参数始终为空。我还尝试了以下方法:

builds[it] = { build("test", parm: $it))  }
builds[it] = { build("test", parm: it)) }

但它始终为空。

谁能给我任何关于如何在构建作业中使用 $it 或任何其他变量的指示。

最佳答案

您似乎在 Build Flow Plugin 中遇到了一个错误(我在 Pipeline DSL 中看到过类似的问题)。不是专家,但它似乎与 eachforeach 构造提供的常规闭包和外部变量范围界定有关。例如(类似于您的示例):

def builds = [:]

[1,2].each {
builds[a] = { print "${it}\n" }
}

parallel builds

打印:

null
null

同时:

def builds = [:]

[1,2].each {
def a = it;
builds[a] = { print "${a}\n" }
}

parallel builds

将打印

1
2

如预期。因此,使用局部变量来存储迭代值。

关于variables - Jenkins Groovy 并行变量不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com