Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Continuous Integration vs. Nightly Builds

Reading this post has left me wondering; are nightly builds ever better for a situation than continuous integration? The consensus of the answers seems to be pretty lopsided in favor of continuous integration, is that evangelism or is there really no reason to use nightly builds when continuous integration is an option?

like image 593
Brian Avatar asked Jan 06 '09 16:01

Brian


People also ask

What is the difference between continuous build and continuous integration?

Continuous Delivery is similar to Continuous Integration. You are building a product that can be released to production at any time. Continuous Delivery requires building, testing, and releasing faster and more frequently. Continuous Integration happens before you build as you are testing code.

What is the point of nightly builds?

A daily build or nightly build is the practice of completing a software build of the latest version of a program, on a daily basis. This is so it can first be compiled to ensure that all required dependencies are present, and possibly tested to show no bugs have been introduced.

Is continuous integration used in build systems?

Continuous integration refers to the build and unit testing stages of the software release process. Every revision that is committed triggers an automated build and test. With continuous delivery, code changes are automatically built, tested, and prepared for a release to production.

What is the main advantage of using continuous integration to produce builds?

Continuous integration (CI) makes software development easier, faster, and less risky for developers. By automating builds and tests, developers can make smaller changes and commit them with confidence. Developers get feedback on their code sooner, increasing the overall pace of innovation.


1 Answers

If you're really doing continuous integration with all available tests, nightly builds would be redundant, since the last thing checked in that day would already have been tested.

On the other hand, if your CI regime only involves running a subset of all available tests, for example because some of your tests take a long time to run, then you can use nightlies additionally to run all tests. This'll let you catch many bugs early, and if you can't catch them early, you can at least catch them overnight.

I don't know, though, if that's technically still CI, since you're only doing a "partial" build each time, by ignoring some of the tests.

like image 152
Adam Bellaire Avatar answered Oct 14 '22 20:10

Adam Bellaire