Jenkinsに複数行のシェルスクリプトを含むGroovyスクリプトがあるとします。そのスクリプト内で変数を設定して使用するにはどうすればよいですか?通常の方法ではエラーが発生します。
sh """
foo='bar'
echo $foo
"""
キャッチ:groovy.lang.MissingPropertyException:そのようなプロパティはありません:クラスのfoo:groovy.lang.Binding
三重の単一引用符'''
に変更するか、ドル\$
をエスケープする必要があります
次に、この問題を引き起こしているグルーヴィーなテンプレートをスキップします
私はちょうど行末に「\」を入れています
sh script: """\
foo='bar' \
echo $foo \
""", returnStdout: true
このステートメントは私のスクリプトで機能します。