ジョブのビルドインスタンスを最大x個のノードで実行するように制限できますか?各Jenkinsビルドインスタンスを最大x個のノードに制限する方法
例えば、私は20のスレーブと "ParentJob"と呼ばれる親ジョブを持っているとしましょう。 「ParentJob」は、使用可能なスレーブ上で、「ChildJob」と呼ばれる20の子ジョブを同時に実行するように設定されています。複数のParentJobをキックオフする必要があるため、ParentJobビルドインスタンスごとに5つのノードに子ジョブを制限したいと考えています。
基本的には、ParentJob#1、#2、#3を同時に起動したいですが、ParentJob#1から生成されたChildJobsすべてがすべてのスレーブに影響しないようにしたいと思います。 ParentJob#1のChildJobsはノード1-5を使用し、ParentJob#2のChildJobsはノード6-10を使用し、ParentJob#3のChildJobsはノード11-15を使用する必要があります。
私はThrottle Concurrent BuildsプラグインとLockable Resourceプラグインを見てきましたが、達成したいことに対処していないようです。彼らは仕事レベルでのみ動作し、ビルドレベルでは動作しないようです。
私の他の選択肢は、使用可能なx個のノードをつかみ、一意にラベルを付け、これらのノードで子ジョブを実行するためのGroovyコードを書くことです。ジョブが終了すると、ラベルをクリアして他のビルドで使用できるようにすることができます。
もっと簡単なオプションやプラグインがありますか?多分、私はこれを複雑にしています。
あまりにも混乱しないことを望みます。前もって感謝します。
したがって、トリガーしているジョブは同じジョブではありませんか?それらは別の仕事ですか?それが同じ仕事であれば、Throttle Concurrent Buildsプラグインはまさに必要なものです。私はアーキテクチャを誤解しているかもしれません。 – Dvir669
私の問題を見てくれてありがとう。私は上記の説明を更新しました。うまくいけばそれはもっとはっきりしています。 – asahi7777777