it-swarm-eu.dev

Was bedeutet "Nightly Builds"?

Ich benutze seit einiger Zeit Open-Source-Projekte und entwickle Open-Source-Anwendungen. Von Zeit zu Zeit stoße ich auf die Worte "Nightly Build" und war immer neugierig, was das eigentlich bedeutet. Bedeutet dies wörtlich, dass die Projekte nur als Nebenprojekte durchgeführt werden (normalerweise nachts, nachdem alle ihre Tagesjobs beendet haben) und es keinen echten Mitwirkenden/engagierten Entwicklungsteam gibt, oder ist es komplexer als das?

60
dbramhall

Nein, es bedeutet, dass jede Nacht alles, was in die Quellcodeverwaltung eingecheckt wurde, erstellt wird. Dieser Build ist ein "nächtlicher Build".

77
CaffGeek

Im Allgemeinen bedeutet dies ein automatisierter Build , der einmal am Tag ausgeführt wird, normalerweise nach dem Ende des Tages für die meisten Entwickler. Bei Projekten mit Entwicklern in mehreren Zeitzonen ist dies im Allgemeinen eine Kompromisszeit. Die Idee ist, dass jeder, der "heute" Code eincheckt, dies getan hat, und der automatisierte Build wird sicherstellen, dass alles kompiliert wird, und hoffentlich die Komponententests und alle anderen vorhandenen automatisierten Tests usw. ausführen und dann ein endgültiges Installationsprogramm erstellen/ausführbare Datei usw.

37
Мסž

Dies bedeutet einen Build, der am Ende jedes Entwicklungstages ausgeführt wird. Wenn Sie einen Continuous Integration Server verwenden, wird dieser im Allgemeinen so konfiguriert, dass er den Code erstellt und die Komponententests bei jedem Einchecken ausführt. Am Ende eines jeden Tages möchten Sie möglicherweise umfangreichere Tests, Regressionstests und Integrationstests ausführen, z. Die Ausführung dauert bei jedem Check-in zu lange und wird nach dem nächtlichen Build ausgelöst. Wenn Sie über eine vollständige kontinuierlich bereitgestellte Pipeline verfügen, kann der nächtliche Build auch verwendet werden, um den erstellten Code für Benutzertests in Umgebungen bereitzustellen.

13
John Channing

Der Begriff wird häufig für große Projekte verwendet, bei denen ein vollständiger Umbau des fertigen Produkts aus der Quelle zu lange dauert, als dass der einzelne Entwickler dies als Teil seines normalen Entwicklungszyklus tun könnte.

Stattdessen wird eine vollständige Neuerstellung automatisch während der Nacht durchgeführt, sodass der Build-Computer 8-10-12 Stunden Zeit hat, um den Build durchzuführen, und ihn für die Entwickler bereit hält, die am nächsten Morgen kommen, damit sie weiter an ihrem einzelnen kleinen Teil arbeiten können der neuen Version.

Heutzutage ist es häufig, dass das Projekt viele Tests umfasst, die den korrekten Betrieb des Codes sicherstellen sowie Dokumentation aus der Quelle (wie Javadoc) generieren und veröffentlichen.

7
user1249

Nächtliche Builds sind eine gute Sache. Sie bieten Entwicklern sofortiges Feedback, wenn sie den Build abgebrochen haben. Ein nächtlicher Build bedeutet, dass die Software stabil ist und wahrscheinlich für neue Benutzer erstellt wird. Software, die nicht regelmäßig erstellt wird, ist schwer zu veröffentlichen.

Zitiert aus: https://chess.eecs.berkeley.edu/softdevel/nightly.htm

0
khaja