2017-06-09 18 views
0

environment { }ブロックを使用して宣言型Jenkinsfileをいくつかの環境変数に設定しています。同じ値を持つ宣言型Jenkinsfile複数の環境変数。

FOOBARの順番で2つの変数があり、何らかの理由で両方の値がnurseに設定されている必要があります。

BARに割り当てるときにFOO varを参照する方法はありますか。したがって、nurseを明示的に1つの場所に設定するだけです。

私は失敗したどちらも、BAR = env.FOOBAR = FOOをやってみました、そしてドキュメントは、このようなユースケースのために多くのガイダンスを提供していないようです...

ここで私は現在使用しているもののラフなモックアップです(タクトでの栄光の繰り返し):

#!/usr/bin/env groovy 

pipeline { 
    agent any 

    environment { 
     FOO = 'nurse' 
     BAR = 'nurse' 
    } 
} 

答えて

0

は、第二のVARのために、あなたは(二重引用符がここにimportantをしていることに注意してくださいBAR = "{env.FOO}"のように、最初のvarの値を割り当てるために、Groovyの文字列補間を使用することができ、実際にこれを考え出しました)。

+0

複数のエンバーを補間している場合、このアプローチ(本当に奇妙なことに)は失敗するように注意する必要があります。ビルドパラメータに基づいてenvar 'FOO'を設定した後、すでに 'WORKSPACE'エンバールが補完されていたenvar' BAR'; 'BAR =" $ {env.WORKSPACE}/xyz _ $ {env.FOO} .db "'のように補間した後、 'BAR'はどこにも見つかりませんでした! –

関連する問題