在詹金斯管道

问题描述:

我创建一个詹金斯管道,其在不同环境下使用获取全局变量/构建。每个版本都有不同的参数:部署目标,密码,用户名等在詹金斯管道

我有一些共同的设置,所有这些构建共享,我已经在“Jenkins” - >“配置” - >“全局属性”中添加了核心价值。

可以说,我已经添加了一个键值相提并论: 名称:的CommonName 值:钱

我现在希望能够在我的管道,访问此的CommonName变量。 我试过了一切。

println "{$params.CommonName}" 
println "{$env.CommonName}" 
println "{$CommonName}" 

Nothing从全局配置中返回值。

甚至无参数键值的构建是这样的: 姓名:姓名 价值:$ {}的CommonName

然后试图访问“$ {} params.Name”,在静止空返回。

基线是,我想有共享变量在不同的版本,其中我可以在詹金斯改变。

println "${env.CommonName}" 
println "${CommonName}" 

它应该如果你移动$字符。 我已经试过以下两者的工作:

println GLOBAL_VAR 
println env.GLOBAL_VAR 

打印

[Pipeline] echo 
global_var_value 
[Pipeline] echo 
global_var_value 
+0

谢谢! - 你能解释一下吗? –

+0

什么部分?要在字符串中插入att变量,正确的做法是$ {variable/command}不是“{$ variable}”。除此之外,jenkins管道插入变量,以便它们可以在脚本中访问,这样,如果你愿意,你可以跳过env。因此,println GLOBAL_VAR与println“$ {GLOBAL_VAR}”相同 – MaTePe