2017-10-05 159 views
0

我創建一個詹金斯管道,其在不同環境下使用獲取全局變量/構建。每個版本都有不同的參數:部署目標,密碼,用戶名等在詹金斯管道

我有一些共同的設置,所有這些構建共享,我已經在「Jenkins」 - >「配置」 - >「全局屬性」中添加了核心價值。

可以說,我已經添加了一個鍵值相提並論: 名稱:的CommonName 值:錢

我現在希望能夠在我的管道,訪問此的CommonName變量。 我試過了一切。

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

Nothing從全局配置中返回值。

甚至無參數鍵值的構建是這樣的: 姓名:姓名 價值:$ {}的CommonName

然後試圖訪問「$ {} params.Name」,在靜止空返回。

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

回答

2
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