「Nightly Builds」とはどういう意味ですか?


53

私はしばらくの間オープンソースプロジェクトを使用し、オープンソースアプリケーションを開発してきましたが、「Nightly Build」という言葉に頻繁に出くわし、それが実際に何を意味するのか常に興味がありました。文字通り、プロジェクトは純粋にサイドプロジェクトとして行われ(通常は全員が日中の仕事を終えた後の夜)、真の貢献者/専任の開発チームはいないか、それよりも複雑ですか?


10
Googleはあなたに失敗しましたか? joelonsoftware.com/articles/fog0000000023.html は、リストのかなり上位にありました。質問を更新して、このブログ投稿から欠落している特定のものを特定してください。
-S.Lott

2
@ S.Lott提供するリンクは非常に長いため、ここでスタックオーバーフローで短いバージョンまたはより簡単な答えを用意することをお勧めします。トピックについてもっと知りたい人のために、あなたが提供したリンクに行くことができます。
アンドリューラムヤットウェン

回答:


68

いいえ、毎晩、ソース管理にチェックインされたすべてが構築されることを意味します。そのビルドは「ナイトリービルド」です。


13
通常、バージョン管理システムからすべての変更を自動的にプルし、すべてのコードをコンパイル(ビルド)し、ダウンロードするためにどこかに投稿するか(Webサイトまたはサービスの場合)テストシステムに公開するスクリプトを実行するマシンがあります実行を開始します。これに該当する別の名前はContinuous Integration Systemです。ただし、VCSへのコミットが実行されるとすぐにビルドが実行されることを意味する場合があります。
CodexArcanum

3
また、バージョンをインクリメントし、すべてに正しいバージョン番号をスタンプする必要があります。古いコードと間違ったバージョン番号から作成されたプログラマーからのランダムなビルドを処理することほどイライラすることはありません。ナイトリービルドは、全員に信頼できるビルドとバージョン番号を提供します。
jqa

36

一般的に、これは1日1回、通常はほとんどの開発者が1日の終わりに行う自動ビルドを意味します。複数のタイムゾーンに開発者がいるプロジェクトの場合、通常は妥協の時間です。「今日」コードをチェックインするすべての人がそうしているという考えです。自動ビルドはすべてがコンパイルされることを確認し、できれば単体テストやその他の自動テストなどを実行し、最終インストーラーを作成します。 / executableなど


13

これは、開発の各日の終わりに実行されるビルドを意味します。継続的インテグレーションサーバーを使用する場合、通常、チェックインごとにコードを構築し、ユニットテストを実行するように構成されます。毎日の終わりに、より広範なテスト、回帰テスト、統合テストなどを実行できます。チェックインごとに実行するには時間がかかりすぎるため、これらはナイトリービルド後にトリガーされます。完全な継続的デリバリーパイプラインがある場合は、ナイトリービルドを使用して、ビルドされたコードをユーザーテスト用の環境にデプロイすることもできます。


7

この用語は、個々の開発者が通常の開発サイクルの一部としてこれを行うには、ソースから完成品を完全に再構築するのに時間がかかりすぎる大規模プロジェクトによく使用されます。

代わりに、夜間に完全な再構築が自動的に行われるので、ビルドコンピューターはビルドを行うのに8-10​​-12時間を持ち、翌朝に来る開発者のために準備を整えます。新しいバージョンの。

最近では、プロジェクトにコードの正しい操作を保証する多くのテストが含まれ、ソース(javadocなど)からドキュメントを生成および公開することが頻繁にあります。


0

ナイトリービルドは良いことです。ビルドを中断した場合、開発者に即座にフィードバックを提供します。夜間にビルドするということは、ソフトウェアが安定しており、新しいユーザー向けにビルドする可能性が高いことを意味します。定期的にビルドされていないソフトウェアはリリースが困難です。

引用元:https : //chess.eecs.berkeley.edu/softdevel/nightly.htm


4
これは、より多くのコメントのように読み、見回答する方法
GNAT

試験日のことを思い出させてくれます。それが私たちが質問の答えを始めるのに使った方法です。😂😜
SSI-anik

これは、ナイトリービルドの目的を説明していますが、ナイトリービルド何であるかを説明していません。
ブライアンオークリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.