2016-04-15 24 views
0

あるジェンキンジョブをブロックして別のジョブを何らかの条件として実行することはできますか?他が実行されているときにジェンキンスジョブを無効にする

ジョブ "B"が実行中にジョブ "A"を無効にし、ジョブ "B"が完了したらジョブ "A"を再び使用可能にする必要があります。

ジョブがフローの一部でフローが実行されているときにアップストリームジョブをブロックすることは可能ですが、2つの完全に独立したジョブが可能かどうかを知りたいと思います。

答えて

0

これを行うにはThrottle Concurrent Builds Pluginを使用できます。あなたがしたいとしている

  1. はジェンキンスグローバル 構成の2つのジョブのカテゴリを作成します。
  2. 各ビルドで、スロットルコンカレントビルド オプションをチェックします。
  3. カテゴリの一部としてこのプロジェクトを調整するを選択します。
  4. 最大同時実行ビルドの最大値を1に設定します(該当する場合はノードあたり最大同時実行ビルド数を に設定)
  5. ジョブをカテゴリの一部としてマークするには、カテゴリボックスをオンにします。

これは、ジョブAが実行されている場合はBが起動せず、ジョブBがAよりも実行中でも起動しない場合、両方のジョブが実行されている間は実行されません。

0

これを使用するBuild Blocker Jenkins Plugin。

ジョブBの設定でAをブロックできます。 'A'が実行されている限り、 'B'は実行されません。

Bの設定でBoth & Bをブロックすることができるため、Bは他のAsまたはBsが動作していないだけです。

さらに、Aの設定でBをブロックすると、ブロックが互いにブロックされます。

*ジョブ名は大文字と小文字が区別されます

関連する問題