Daily build
Encyclopedia
A daily build or nightly build is the practice of each day doing a software build
of the latest version of a program. This is so it can first be compile
d to ensure that all required dependencies are present, and possibly tested to show no bugs have been introduced. The daily build is also often publicly available allowing access to the latest features for feedback.
In this context a build is the result of compiling
and linking all the files that make up a program
. The use of such disciplined procedures as daily builds is particularly necessary in large organizations where many programmers are working on a single piece of software. Performing daily builds helps ensure that developers
can work knowing with reasonable certainty that any new bugs that show up are a result of their own work done within the last day.
Daily builds typically include a set of tests, sometimes called a smoke test (a term origintating in plumbing, where once repairs are complete, pipes are pressurized with smoke to see if any immediately visible leaks are present). These tests are included to assist in determining what may have been broken by the changes included in the latest build. The critical piece of this process is to include new and revised tests as the project progresses.
Software build
In the field of computer software, the term software build refers either to the process of converting source code files into standalone software artifact that can be run on a computer, or the result of doing so...
of the latest version of a program. This is so it can first be compile
Compile
Compile may refer to:* Compile , a Japanese video game company founded in 1983 that specialized in shoot 'em up and computer puzzle game genres...
d to ensure that all required dependencies are present, and possibly tested to show no bugs have been introduced. The daily build is also often publicly available allowing access to the latest features for feedback.
In this context a build is the result of compiling
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
and linking all the files that make up a program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
. The use of such disciplined procedures as daily builds is particularly necessary in large organizations where many programmers are working on a single piece of software. Performing daily builds helps ensure that developers
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...
can work knowing with reasonable certainty that any new bugs that show up are a result of their own work done within the last day.
Daily builds typically include a set of tests, sometimes called a smoke test (a term origintating in plumbing, where once repairs are complete, pipes are pressurized with smoke to see if any immediately visible leaks are present). These tests are included to assist in determining what may have been broken by the changes included in the latest build. The critical piece of this process is to include new and revised tests as the project progresses.
See also
- Smoke testing in software development
- Tinderbox (software)Tinderbox (software)Tinderbox is a software suite that provides continuous integration capability. Tinderbox allows developers to manage software builds and to correlate build failures on various platforms and configurations with particular code changes....
- Mozilla's build and smoke test software
External links
- IEEE Best software practices at Steve-McConnell
- Joel-on-software
- daily builds of ubuntu, updated almost everyday, a good example of what a daily build is