2

質問:別のビルド ストリームがビルド中の場合、ビルド ストリームをブロックする方法はありますか?

これが私がやろうとしていることです。複数のジョブを含む 2 つのビルド ストリームがあります。特定のストリームの上流または下流のジョブをブロックできます。ただし、他のビルド ストリームがビルド中の場合、ビルド ストリームをブロックすることはできません。

これが私のセットアップです:

ビルド ストリーム 1: A1 -> B1 -> C1
ビルド ストリーム 2: A2 -> B2 -> C2

ジョブA1A2は、SCM プラグインを使用してセットアップされ、リポジトリ内の別々の場所をポーリングします。そのため、ビルドは、変更が見つかったときにいつでもトリガーできます。ビルド ストリームは個別に処理する必要がありますが、他のストリームにビルド ジョブがある場合はブロックします。

Build Blocker Plug-inを試してみましたが、問題は、1 つまたは複数のジョブが現在ビルド中の場合にのみブロックされることです。ビルド キューで待機している他のビルドは気にしていないようです。

提供されるリソースの数が限られているため、ビルドを 2 倍にする必要があります。

4

1 に答える 1

2

除外プラグインは、ここであなたを助けることができるかもしれません.

ビルド トレインを管理するために、他の 2 つのジョブをセットアップします。M1 ジョブには、次の手順を実行するビルド ステップがあります。

  1. セマフォをつかむ
  2. トリガー A1
  3. C1 が終了するのを待ちます
  4. セマフォを解放する

M2の仕事も似たようなものになる

  1. セマフォをつかむ
  2. トリガー A2
  3. C2 が終了するのを待ちます
  4. セマフォを解放する

タイムアウトが必要になりますが、それは基本的にアイデアです

于 2012-08-10T09:08:06.333 に答える