2017-09-30 9 views
0

親ジョブと複数のサブジョブを実行する多数のマルチジョブがあります。親はいくつかの前処理を行い、次に最初のサブジョークを開始します。 例:Jenkins - 2つ以上のエグゼキュータをフリーにしたノードでジョブを実行する

  • 親 - チェックアウトのgitリポジトリをして、コードをプレップ
    • コード
    • ユニットはHockeyApp
    • 親以来

  • アップロードをテストビルドしますサブジョブが実行されている時間全体が実行されている場合、プロセスが起動しますサブ・ジョブが開始されるたびに1秒ごとにピックアップします。それを落としてから、次回の起動時にそれを選択します。

    私たちには、それぞれに3 - 4人のエグゼキュータを持つ4つのノードがあります。私たちはネットワークドライブも持っていないので、サブジョブは、ジョブ間でワークスペース全体を渡す必要がないように、親と同じエグゼキュータ上にとどまる必要があります。

    問題は、1つのジョブが実行されていて2つのエグゼキュータがある場合、別のジョブが実行されてから別のジョブが実行されると、それらがすべて同じノードで終了する可能性があります。

    ノード1

    • キュータ1 - 親1
    • キュータ2 - CHILD1
    • キュータ3 - Parent2
    • キュータ4 - Parent3

    現在、Parent2とParent3は無料のエグゼキュータを待っています。最終的にParent1上のChildジョブは終了し、Executorを2 r 3取得し、すべてがそのために戦っています。

    ジェンキンスに、少なくとも2人のエグゼキュータがいないノードでその親をキックオフするよう指示する方法はありますか?誰かが十分に素早く仕事を始めれば、私たちはまだ人事問題に終わることができるのかどうかは分かりますが、それはその可能性を大幅に低下させます。

  • 答えて

    1

    私はあなたが使用できると思う - https://wiki.jenkins.io/display/JENKINS/Heavy+Job+Plugin、と各ステップのために必要な無料のexecutersの量を定義します。

    +0

    恐ろしいタイ、私はそれを試してみよう! –

    +0

    エグゼキュータを保存しますが、サブジョブを割り当てることはありません。サブ・ジョブを割り当てるためにまだ別の空き領域が必要です。問題が解決されません。同様のものが必要ですが、マルチジョブ機能を考慮しています。ありがとう、私は努力を感謝します! –

    +0

    あなたは1つの親ジョブだけを同時に実行したいですか?またはあなたは3 executersとして親の重みを設定することができます... –

    関連する問題