R – Some doubts on setting an C#/Asp.Net 3.5 application automatic builder server

.net-3.5asp.netbuild-automationbuild-processsvn

I want to set my server to automatically build my application upon commit on SVN repo, then deploy on a test/homologation server.

What I planning to do:

  • install a build tool (Nant? use MSBuild?);
  • create a simple script and set a hook to SVN that starts the process of building and deploy.

To do that, what I need to install on my server desides the .NET 3.5 framework? Is Nant capable of build our application based only on our solution file (.sln)?

I researched a little bit, and the Nant last release, v0.86 beta 1, does not include the solution target.

Is there other alternative to do that?

Note that currently I only use the VS2008 build system, and do not call the MSBuild directly. Is that feasible and simple to setup on server environment?

Best Answer

We use Hudson to do that. Like mentioned before. It supports MsBuild (and Nant). We use msbuild with as paramters the solution file and the build configuration like debug/release (we created a deploy and watin configuration with different web.config's). No extra tasks or different scripts than the solution file we us in visual studio. (which I think is the setup you're after)

Additionally before deployment we setup a webserver (cassini) with the results of the build execute nunit (watin) tests. All through Hudson, which shows a nice diagram of the nunit test results.

TeamCity and CruiseControl.Net should be capable of doing the same thing,but I found hudson to be a snap to setup, and configure. (It has everything included in a package just start it)

What's also nice is that it supports SourceCop and FxCop results which you can view in a diagram and look at the location a certain warning applies to in the sourcefile, all using the web interface.