2012-06-22 42 views
7

私は4つのノードと2つのジョブを持っています。どのノードも同時に2つのジョブを実行でき、どのジョブも同時に実行できます。同じマシンで同じジョブを同時に実行することを制限したいと考えています。たとえば:Jenkinsは同じジョブを同じノードで同時に実行できないようにしますか?

ジョブズ:J1とJ2 ノード:N1、N2、N3とN4

私は同じ時間に同じノード上でJ1とJ2を実行することができます。 N1とN3でJ1を同時に実行できます。 しかし、同じノード上でJ1とJ1の別のビルドを同時に実行する必要はありません。

「ロックとラッチ」、「Jenkins Exclusive Execution」、「Exclusion Plugin」プラグインを試しましたが、これらは異なるジョブを調整しようとするとうまく動作します。しかし私の場合は、同じ仕事の異なるビルドインスタンスを管理しようとしています。あなたが二回[ビルド]キーを押すと

は、ジョブの最初のインスタンスは次のようになります。

+0

あなたが「スロットル」プラグインを使用している言及するのを忘れてしまいました... – Gonen

答えて

2

私がチェックした最後の時間を、各ジョブの唯一単一インスタンスはすなわち、一度に実行することができます実行され、完了した後にのみ、次の起動が開始されます。

実際にJob1-Build1とJ1-Build2を同時に実行できましたか?

+1

ゴネン、返事をありがとう。 はい私はJ1-Build1とJ1-Build2を同時に実行できます。実際、すべてのジョブは問題なく並行して実行されます。 同じジョブ(つまりJ1)が同じノードで実行されないようにする必要があります。 このタイプのシナリオを防止します。J1-Node1とJ1-node1の別のインスタンスを実行します。 私の要件: J1のインスタンスが既にノード1(つまりJ1-Node1)で実行されている間、J1のmewインスタンスをNode1ではなく別のノード(つまりJ1-Node2)で開始します。 Nod2もJ1のインスタンスを実行している場合は、待機してください。 ありがとう マレック –

+0

マレック、あなたは他の極端に行くことができます、他のすべてが終了するまで、J1の*インスタンスが起動しないようにするため、J1ビルド2はJ1ビルドが完了するまで開始しません。 [**高度なプロジェクトオプション*]セクションの下にある[**下流プロジェクトが構築中のビルド**オプション]オプションを使用する必要があります。 – Gonen

12

お試しThrottle Concurrent Builds Pluginこれは、ノードごとにまたはグローバルに実行されているプロジェクトの並行ビルド数を増加させます。あなたのケースでは、設定する必要があります。

  • 最大合計同時ビルド:0(=無制限)
  • 最大同時はノードごとにビルド:1
+6

0 =無制限にしていただきありがとうございます!私は0を最大同時並行ビルドとして指定すると、並行ビルドにつながる、つまり0 = 0と考える理由を疑問に思っています。 – linguinee

関連する問題