Jenkinsfile
スクリプト内で使用している変数を使用し、その値をシェル スクリプトの実行に (環境変数またはコマンド ライン パラメータとして) 渡したいと考えています。
しかし、次のJenkinsfile
:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh 'echo "from shell i=$i"'
}
次の出力が得られます。
a
from shell i=
b
from shell i=
c
from shell i=
望ましい出力は次のようなものです。
a
from shell i=a
b
from shell i=b
c
from shell i=c
i
の値をシェルスクリプトに渡す方法はありますか?
編集:マットの答えに基づいて、私は今この解決策を使用しています:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh "i=${i}; " + 'echo "from shell i=$i"'
}
"
利点は、シェル スクリプトでエスケープする必要がないことです。