ナイトリー ビルドと継続的インテグレーションの違いは何ですか? チェックイン/ビルド/テストの頻度だけですか? たとえば、夜間のビルド プロセスが 1 時間ごとまたは 1 分ごとに実行される場合、CI と見分けがつかないでしょうか?
この質問は似ていますが、同一ではありません:継続的インテグレーションとナイトリー ビルド
ナイトリー ビルドと継続的インテグレーションの違いは何ですか? チェックイン/ビルド/テストの頻度だけですか? たとえば、夜間のビルド プロセスが 1 時間ごとまたは 1 分ごとに実行される場合、CI と見分けがつかないでしょうか?
この質問は似ていますが、同一ではありません:継続的インテグレーションとナイトリー ビルド
継続的インテグレーションは、チェックインが行われるたびにビルド (およびテストの実行) に重点を置いています。ナイトリー ビルドは 1 日 1 回実行するため、テストの重要性が低くなる可能性があります。
実際には、テストのビルドと実行をトリガーする継続的インテグレーション チェックインは、開発者が 1 日を通して行うチェックインとは別の場合があります。たとえば、その日のほとんどの開発がブランチにチェックインされているときに、トランクにチェックインするときにのみ発生する可能性があります。これらを比較的頻繁に、たとえば 1 日 1 回行うことをお勧めします。
より頻繁にビルドしても同様の結果が得られますが、何も変更されていないときにテストを実行するという無駄な労力が発生する可能性があります。もう 1 つの違いとして考えられるのは、継続的インテグレーションの各ビルドでかなりのレベルのテストが行われることです。結果として生じるエラーを修正するために開発者の介入が必要になる場合があります。これは、いくつかの理由により、夜間のビルド プロセスではより困難になります。エラーを特定の一連の変更と責任者に関連付けるのがより困難になることを含みます。
テストの数と所要時間によって異なります。完全なビルドと完全なテストに数分かかる場合は、ソースにプッシュするたびに継続的インテグレーションで実行できます。
私の場合、毎晩のビルドは約 2 時間で、すべてのソースをビルドし、すべてのテストを実行します。毎日のビルドでは、ブランチや開発者が変更する可能性があるものに応じて、いくつかのライブラリのみをビルドし、いくつかのテストを実行します。