0

A、B、Cの3つのジョブがあるhudsonサーバーをセットアップすることができました。

  1. トランクで何かがチェックされると、ジョブ A がビルドされます。
  2. ジョブ B は、ジョブ A が正常に終了した後にビルドされます
  3. ジョブ C は、ジョブ B が正常に終了した後にビルドされます

ジョブ A の実行には約 25 ~ 35 分かかりますが、ジョブ B と C は非常に高速です (ジョブ B は約 1 分、ジョブ C は約 0.5 秒)。

ここで、ジョブ A の実行中に誰かがチェックインしたため、常にプロセスが中断され、ジョブ B と C は実行されません。

では、ジョブ A の実行が正常に終了した後に、ジョブ B と C を強制的に実行する方法はありますか?

4

1 に答える 1

0

これを答えに移すだけです-@davekが言うように、ロックとラッチのプラグインが機能します。A、B、および C をロック セットの一部として、B または C が動作しているときに A がキューに入れられるようにすることができます。セットアップでこれを使用して、リソースを共有するビルドが互いにぶつかるのを防ぎます。

警告: ロックには既知のバグがあり、複数のビルドが同じロックで待機している場合、ロックが解放されたときに、他のビルドを保持するのではなく、両方のビルドが開始されることがあり、すぐに修正されることを願っています。

于 2011-08-25T19:23:35.647 に答える