2

SCM の変更に基づいてインクリメンタル ビルドを実行し、検証してから、これが機能する場合は (ゼロから) フル ビルドを実行する Jenkins セットアップがあります。これは基本的に機能しますが、通常は使用しない日中にフル ビルドを行うのに時間を浪費します。

毎晩完全なビルドをトリガーできることはわかっていますが、ブランチの多くは数日間変更されません。その後、変更が殺到する可能性があります。したがって、毎晩すべてのブランチを構築するのも無駄です。

私が本当に欲しいのは、SCM の変更があり、インクリメンタル ビルドと検証が機能した場合にフル ビルドを 1 回だけ (たとえば夜に) 実行するメカニズムです。失敗した。実際には、「増分ビルドと検証が機能した」だけで十分です。これらは通常、SCM の変更時に実行されるためです。

助言がありますか?これに役立つJenkins拡張機能はありますか?

4

1 に答える 1

0

要求したことを達成するために、既存のジョブと同じ新しいジョブを作成できますが、SCM を 1 日に 1 回のみ、夜間ビルド用にポーリングします。スケジュールを次のように設定しますH H(0-5) * * *

元のジョブで、完全なビルドのビルド後のトリガーを削除します。

これにより、最後のインクリメンタル ビルドの結果をチェックするだけでなく、ナイトリー ビルドがインクリメンタル ビルドを実行し、インクリメンタル ビルドが成功した場合はフル ビルドを実行することを除いて、あなたが求めていたものとほぼ同じものが得られます。

しかし...

あなたが避けようとしている「無駄」のコストはいくらですか?毎晩完全なビルドを実行すると、実際にどれくらいの費用がかかりますか? また、完全なビルドがいつ壊れたのかをできるだけ早く (つまり、次の朝だけでなく、壊れた日中に) 見つけた方がよいのではないでしょうか?

于 2013-09-26T06:34:15.740 に答える