web-dev-qa-db-ja.com

Jenkins / Hudsonで環境変数をプログラムで設定する方法は?

Jenkinsジョブの事前ビルドステップに2つのスクリプトがあります。1つ目はPerlスクリプト、2つ目はgroovyプラグインを使用するシステムgroovyスクリプトです。 2番目のGroovyスクリプトに最初のPerlスクリプトの情報が必要です。いくつかの環境変数を設定するのが最善の方法だと思います。それをどのように実現できるのか疑問に思いました。

または他のより良い方法。

御時間ありがとうございます。

15
Gogi

ビルドステップ間で環境変数を伝達する方法は、 EnvInject Plugin を使用することです。

これを行う方法を示す以前の回答をいくつか次に示します。

ただし、あなたの場合、あるビルドステップでファイルに書き込み、別のビルドステップでそのファイルを読み取る方が簡単な場合があります。以前のバージョンのファイルから誤って読み取らないようにするために、ファイル名にBUILD_IDを組み込むことができます。

14
malenkiy_scot

ジョブ構成から EnvInjectプラグイン を使用するには、Inject environment variables to the build process / Evaluated Groovy scriptを使用する必要があります。

設定に応じて、GroovyまたはShellコマンドを実行し、環境変数を含むマップに保存します。

executeメソッドを使用してコマンドの結果を取得する:

return [DATE: 'date'.execute().text]

または、存在する場合はGroovyと同等:

return [DATE: new Date()]
3
luka5z