2017-10-05 16 views
0

私は異なる環境/ビルドで使用されるジェンキンスパイプラインを作成しています。各ビルドには、デプロイ先、パスワード、ユーザー名などの異なるパラメータがあります。jenkinsパイプラインでグローバル変数を取得

これらのビルド共有はすべて "Jenkins" - > "Configuration" - > "Global properties"キー値。 名:のCommonName 値:マネー

私は今、私のパイプラインで、こののCommonName変数にアクセスできるようにしたい

は私がキーと値の額面を追加したとしましょう。 私はすべてを試しました。

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

グローバルコンフィグレーションの値は返されません。

さえようになり、ビルドにパラメータキー値を持っていませ:まだヌルでは、$ {}の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}"ではなく正しいものにします。それ以外にも、ジェンキンスパイプラインは変数を挿入するので、スクリプトでアクセスできるようになります。そうすれば、必要に応じてenvをスキップできます。 println GLOBAL_VARはprintln "$ {GLOBAL_VAR}"と同じです – MaTePe

関連する問題