What is a Nightly Build and what are the differences to a Daily Build?
Software creation overnight
In software development, a build is the process by which an application is automatically created. In a daily build, this process is performed very frequently – preferably every day. In a nightly build, as the name suggests, the build process is performed overnight.
The underlying idea behind a nightly build is that developers do not work on the source code at night, so the build process does not interfere with anybody’s work and they have to wait for the current version to deploy. Thus, a nightly build makes sense for organizations unless they are working on common software in opposite time zones that are far apart. Ideally, software development should only take place in one time zone or, at best, in closely spaced time zones.
Differences between Nightly Build and Daily Build
In contrast to continuous integration or a daily build, the cycle time for a nightly build is less important. The basic aspects of software development, e.g.
- the build automation server,
- collaboration with version or configuration management systems,
- the execution of automated tests
- or the notification of developers for identified errors is identical in itself.
However, manual tests and manual releases are excluded in the nightly build, since this takes place at night and therefore no one is on site to perform a manual release.
Sometimes the term nightly build is also used in the context of open source solutions. It is a good idea to read the nightly build notes, as there may be versions that are not suitable for direct use in a production environment, as the builds are not tested in a sufficiently automated manner. Those who install an appropriate version, upgrade, or patch also act directly or indirectly as testers of the nightly build.