Wednesday, April 19, 2006

Daily Build - The Daily Build concept

The Daily Build concept is integrated in nearly every new Software Engineering approach.

Personally I think that its common to use a separated build server applying the continuous integration approach / strategy. Call it however you want but in my point of view its a must.

The build server is responsible to request automatically request all sources from repository and its common to do that in a iteration of once a day. So this server is responsible to extract all sources and to build them. Its also common to integrate all your Unit test into this build to verify the integration. Oh, you don't have unit test ... what a pity... You should maybe checkout where the payback is of the additional effort of unit testing.

to make a build is much more then to press just F5 or F10 in visual studio or your preferred development environment. but anyway there are enough other sources you can receive the information what a complete build means [or check out previous posts.]

Lets go back to the issue of daily build, or the daily build concept.

Goals of Daily Build
There are several goals of daily build, but lets write about the main goal of it.
The main goal of Daily Build process is to integrate a periodical integration of all your software pieces.

Why periodically and not whenever when I want... 3 things..

1. in every handy made process the possibility of failures are here and usually they also not reproducible.
2. you have a build server, let him do the work. When it fails once then it always fails.
3. normally there are more then just one person who is working on sources.

The mention third point is very basically and can happen all the time. Just let the build process fail, which is really a bad problem for the project manager. If that happens, he or she has to locate the problem and solve it - or, even better, let the responsible programmers search for the problem in their code.

So, a developer has to write a few test cases which ensure the correct behavior of the main features or methods of his components. Which will be tested automatically every single night, and in the morning you get your report with all needed information why your daily build today failed ( or not failed ).

No comments:

Shared Cache - .Net Caching made easy

All information about Shared Cache is available here: Its free and easy to use, we provide all sources at codeplex.

Facebook Badge