3

1 つのマスター (3 台のマシン) を持つ 2 つの Jenkins スレーブがあります。たとえば、Slave1 と Slave2 です。2 つのジョブがあり、ラベルを使用してジョブをスレーブにバインドしました。たとえば、Job1 は Slave1 にバインドされ、Job2 は Slave2 にバインドされます。どちらもフリースタイルのお仕事です。Job1 と Job2 のみを呼び出すフリー スタイルのジョブを作成して、それらが同時にスレーブ上で実行されるようにしました。2 つのジョブが常に同じビルド番号でビルドするか、上流のジョブからビルド番号を継承するようにしたいと考えています。メイン ジョブから 2 つのダウンストリーム ジョブにビルド番号を送信する方法はありますか? Job1 と Job2 のビルド番号が同期しなくなるのを防ぎたいです。これは、一方が単独で実行された場合に発生します。

4

1 に答える 1

2

Jenkins Java APIには Job :: updateNextBuildNumber(int)というメソッドがあります。システムの Groovy スクリプト ( Groovy Plugin経由で実行可能) から子ジョブ オブジェクトを見つけ、上記の方法でビルド番号を設定します。それらをトリガーします。

ただし、それでも問題が発生する可能性があります。たとえば、これらのジョブの 1 つが手動でトリガーされた場合、番号を設定できない場合があります (ビルド番号を増やす必要があります)。

于 2012-05-17T22:54:22.090 に答える