私はしばらくの間オープンソースプロジェクトを使用し、オープンソースアプリケーションを開発してきましたが、「Nightly Build」という言葉に頻繁に出くわし、それが実際に何を意味するのか常に興味がありました。文字通り、プロジェクトは純粋にサイドプロジェクトとして行われ(通常は全員が日中の仕事を終えた後の夜)、真の貢献者/専任の開発チームはいないか、それよりも複雑ですか?
私はしばらくの間オープンソースプロジェクトを使用し、オープンソースアプリケーションを開発してきましたが、「Nightly Build」という言葉に頻繁に出くわし、それが実際に何を意味するのか常に興味がありました。文字通り、プロジェクトは純粋にサイドプロジェクトとして行われ(通常は全員が日中の仕事を終えた後の夜)、真の貢献者/専任の開発チームはいないか、それよりも複雑ですか?
回答:
いいえ、毎晩、ソース管理にチェックインされたすべてが構築されることを意味します。そのビルドは「ナイトリービルド」です。
一般的に、これは1日1回、通常はほとんどの開発者が1日の終わりに行う自動ビルドを意味します。複数のタイムゾーンに開発者がいるプロジェクトの場合、通常は妥協の時間です。「今日」コードをチェックインするすべての人がそうしているという考えです。自動ビルドはすべてがコンパイルされることを確認し、できれば単体テストやその他の自動テストなどを実行し、最終インストーラーを作成します。 / executableなど
この用語は、個々の開発者が通常の開発サイクルの一部としてこれを行うには、ソースから完成品を完全に再構築するのに時間がかかりすぎる大規模プロジェクトによく使用されます。
代わりに、夜間に完全な再構築が自動的に行われるので、ビルドコンピューターはビルドを行うのに8-10-12時間を持ち、翌朝に来る開発者のために準備を整えます。新しいバージョンの。
最近では、プロジェクトにコードの正しい操作を保証する多くのテストが含まれ、ソース(javadocなど)からドキュメントを生成および公開することが頻繁にあります。
ナイトリービルドは良いことです。ビルドを中断した場合、開発者に即座にフィードバックを提供します。夜間にビルドするということは、ソフトウェアが安定しており、新しいユーザー向けにビルドする可能性が高いことを意味します。定期的にビルドされていないソフトウェアはリリースが困難です。