我希望能够以编程方式决定将在Jenkins管道的代理中安装哪个工具。
这是我今天的工作:
withEnv(["JAVA_HOME=${tool 'OPENJDK11'}",
"PATH+JAVA=${tool 'OPENJDK11'}"]) {
... do stuff ...
}
所以我已经安装了一个全局工具OPENJDK11
,以及OPENJDK14
,现在我想改变Groovy脚本,以便能够决定安装哪个JDK。
所以在上面的部分之前,我已经将工具的名称保存在一个变量jdkToInstall
中,我如何能够在工具指令中引用这个变量?
I have try:
${tool '${jdkToInstall}'}
和${tool '$jdkToInstall'}
.
这没有展开我的变量,所以我得到一个错误消息,说它找不到工具"$jdkToInstall"
我也尝试了字符串连接,但最终出现了类似的错误信息,包括我的加号和所有内容。
只展开一次(${}
)变量就足够了。以下工作如预期:
withEnv(["JAVA_HOME=${tool jdkToInstall}", "PATH+JAVA=${tool jdkToInstall}"]) {
... do stuff ...
}