Ich benutze seit einiger Zeit Open-Source-Projekte und habe mich mit den Open-Source-Anwendungen befasst. Ab und zu stoße ich auf die Worte "Nightly Build" und war immer gespannt, was das eigentlich bedeutet. Bedeutet das wörtlich, dass die Projekte ausschließlich als Nebenprojekte durchgeführt werden (normalerweise nachts, nachdem alle ihre täglichen Aufgaben erledigt haben) und es keinen echten Mitarbeiter / ein engagiertes Entwicklungsteam gibt, oder ist es komplexer?
open-source
terminology
Dbramhall
quelle
quelle
Antworten:
Nein, es bedeutet, dass jede Nacht alles, was in die Quellcodeverwaltung eingecheckt wurde, erstellt wird. Dieser Build ist ein "nächtlicher Build".
quelle
Im Allgemeinen handelt es sich um eine automatisierte Erstellung , die für die meisten Entwickler einmal täglich, in der Regel nach dem Ende des Tages, durchgeführt wird. Für Projekte 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 sicherstellt, dass alles kompiliert wird, und hoffentlich die Komponententests und alle anderen vorhandenen automatisierten Tests usw. ausführt und dann ein endgültiges Installationsprogramm erstellt / ausführbares etc.
quelle
Dies ist ein Build, der am Ende eines jeden Entwicklungstages ausgeführt wird. Wenn Sie einen Continuous Integration Server verwenden, wird dieser in der Regel so konfiguriert, dass bei jedem Einchecken der Code erstellt und die Komponententests ausgeführt werden. Am Ende eines jeden Tages möchten Sie möglicherweise umfangreichere Tests, Regressionstests und Integrationstests ausführen, z. die zu lange dauern, um bei jedem Check-in ausgeführt zu werden, und diese würden nach dem nächtlichen Build ausgelöst. Wenn Sie über eine vollständige Pipeline für die kontinuierliche Bereitstellung verfügen , kann die nächtliche Erstellung auch verwendet werden, um den erstellten Code für Benutzertests in Umgebungen bereitzustellen.
quelle
Der Begriff wird häufig für große Projekte verwendet, bei denen eine vollständige Neuerstellung des fertigen Produkts aus der Quelle zu lange dauert, als dass der einzelne Entwickler dies im Rahmen seines normalen Entwicklungszyklus tun könnte.
Stattdessen wird nachts automatisch eine vollständige Neuerstellung durchgeführt, sodass der Erstellungscomputer 8 bis 10 bis 12 Stunden Zeit hat, die Erstellung durchzuführen, und sie für die Entwickler bereit hält, die am nächsten Morgen kommen, damit sie weiter an ihrem individuellen winzigen Teil arbeiten können der neuen Version.
Heutzutage ist es häufig so, dass das Projekt viele Tests umfasst, die die korrekte Funktionsweise des Codes sicherstellen sowie Dokumentation aus der Quelle (wie z. B. Javadoc) generieren und veröffentlichen.
quelle
Nächtliche Builds sind eine gute Sache. Sie liefern Entwicklern sofort eine Rückmeldung, 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 schwierig zu veröffentlichen.
Zitiert von: https://chess.eecs.berkeley.edu/softdevel/nightly.htm
quelle