Nightly Build
Unter Nightly Build, Nightly Snapshot oder kurz Nightly versteht man in der Softwareentwicklung einen im Entwicklungsverlauf frühzeitigen, ungetesteten oder zwischenzeitlichen Versionsstand eines Softwareprojektes. Er stellt eine Vorstufe der kontinuierlichen Integration dar.
Der Nightly Build ist ein Build-Prozess, der vornehmlich nachts und automatisiert erfolgt, wenn es unwahrscheinlich ist, dass Entwickler am Quelltext arbeiten. Dadurch wird sichergestellt, dass sich der Quelltext auf der jeweiligen Zielplattform fehlerfrei übersetzen lässt. Außerdem werden in der Regel automatische Testläufe durchgeführt, um bei hinreichend guten Tests testgetrieben zu arbeiten. Im Gegensatz zur permanenten Integration muss beim Nightly Build nicht auf kurze Durchlaufzeiten geachtet werden, darum können dabei auch automatisierte Regressionstests durchgeführt und aufwändige Qualitätsmetriken berechnet werden. Darüber hinaus kann beim Nightly Build eine Installation (Deployment) in die Test- oder Zielumgebung vorgenommen werden.
Versionen
Oftmals findet man Nightly Builds im Open-Source-Bereich zum Download. Diese Versionen erhalten fast immer eine neue Buildnummer und manchmal auch eine eindeutige Kennzeichnung als Nightly Build. Mit den enthaltenen neuesten Softwareänderungen und Patches kann allerdings nicht davon ausgegangen werden, dass sie hinreichend getestet sind. In der Regel wird vom Einsatz eines Nightly Builds in einer Produktionsumgebung abgeraten und stattdessen auf eine „stabile Version“ (Stable) verwiesen. Nur anhand der Versionsnummer lässt sich jedoch nicht immer feststellen, ob es sich bei einer Software um eine stabile Version oder einen Nightly Build handelt. In der Dokumentation findet sich ein Hinweis darauf meist, wenn vorhanden, im Changelog.