.netdailybuilds

How to do daily build for .net project from A - Z?


I'm a newbie developer who want to learn software development process better. My questions are:

  1. what is daily-build in general?
  2. what's the difference if I build my own project in VS?
  3. how do we do it the best way for .net project (preferably using TFS)?
  4. more things that I should/have-to know about?

Any reference to an article/books/other questions are welcome.

Thanks


Solution

  • 1) From the Wikipedia entry:

    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 compiled 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.

    2) There should be no difference between a nightly build and a build from VS, however the idea behind a daily build is that it is automated. That way you can schedule it to run at 3 AM :)

    It would also be a good idea to run verification steps (for example, unit or functional tests) to verify nothing has been broken in the latest build. By doing so you can guarantee that the build compiles and is in good working order. That way you can deploy a fresh build at-will.

    Without such a process in place, if someone needs a build you never really know how long it might take to deliver it to them. You may be able to just build it in VS without any trouble, or you may have have to fix up parts of the code just to get it to build. This becomes a bigger problem when your build is large and consists of multiple solutions that each need to be built separately.

    3) You could create a batch script that runs the build for you, of you could use a tool for this purpose. For more information see: what-tool-to-use-for-automatic-nightly-builds. Some of their suggestions include: