3

jenkins ジョブ シェルで、シェルでビルドを開始したユーザーを取得したいのですが、どうすればよいですか?

Build User Vars Pluginは、このジョブがユーザーによって開始された場合はうまく機能しますが、アップストリーム ジョブのような他のものによってトリガーされた場合は機能しません。のような値$BUILD_USERは空です。

そのページの著者「Gavriil」からのコメントを参照してください

これはバグではありません。ビルドがユーザーによって開始された場合にのみ、ビルド ユーザーを識別できました。ビルドが他の原因によってトリガーされた場合は、タイマーまたはアップストリーム ジョブの終了によって終了します。

ジョブコンソールですが、実際にはユーザー情報を見ることができます

Started by upstream project "arctifact2slave" build number 16
originally caused by: 
Started by upstream project "create-vm" build number 5
originally caused by: 
Started by user larrycai

助言がありますか

4

2 に答える 2

6

あなたが正確に何を達成しようとしているのかはよくわかりませんが、私が理解している方法では、次のことができます。

  • ルート ジョブに String パラメータを追加します。BUILD_USER 変数の値に影響を与えます。すなわち:${BUILD_USER}

  • 次に、'Post-build Actions -> Trigger parameterized build on other projects' セクションで Current Build Parameters を渡すだけです。

後続のジョブは変数を読み取ることができます。

于 2013-01-17T12:12:08.543 に答える
0

ほとんどの場合、この質問には答えられているようですが、Jenkins や他の製品の複数のコピーをマシンに持っている人にとって役立つものを追加したいと思います。

あなたがやろうとしていることと似たようなことをしているSVNにリンクされたいくつかのJenkinsサーバーがあります。コミット後のフックがメイン Jenkins にトリガーされたときに、コミットを初期化したユーザーのユーザー名を保存するスクリプトがあります。そうすれば、使用している Job、Jenkins、またはその他のサーバーに関係なく、その情報にアクセスできます。

于 2015-05-28T13:41:52.833 に答える