Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. A daily build is an automatic, daily, complete build of the entire source tree. You don’t actually, what you should be wanting is Continuous Integration and automatic testing (which is a step further than nightly builds). Though I haven’t got an opportunity to make daily builds, I’m a great fan of it. On the Excel team we had a rule that whoever broke the build, as their
\n “punishment”, was responsible for babysitting the builds until someone
\n else broke it. This was a good incentive not to break the build, and a
\n good way to rotate everyone through the build process so that everyone
\n learned how it worked.<\/p>\n
Complete \u2013 chances are, your code has multiple versions. Multiple language versions, multiple operating systems, or a high-end\/low-end version. And it needs to build every file from scratch, not relying on the compiler\u2019s possibly imperfect incremental rebuild capabilities. Imagine Cisco testing a router with the literally 1000s of different setups to test. A nightly build can be the basis for a more thorough test suite.<\/p>\n
It\u2019s tempting to do continuous builds, but you probably can\u2019t, because of source control issues which I\u2019ll talk about in a minute. Personally, I prefer daily builds – that way if the build doesn’t work then everyone is around to get it fixed. On most projects, tending the daily build and keeping the smoke test up to date becomes a big enough task to be an explicit part of someone\u2019s job. On large projects, it can become a full-time job for more than one person. On Windows NT 3.0, for example, there were four full-time people in the build group (Pascal Zachary, Showstopper!, The Free Press, 1994). The most fundamental part of the daily build is the \u201cdaily\u201d part.<\/p>\n