Creating a build system (NAnt,NUnit, Draco)
On a recent project I was tasked with creating a build system to replace building .net soloutions manually. The system must make use of VSS and must allow for integration with NUnit, NAnt a FxCop. I am still in the middle of this but what I have ended up with is something simlar to Brian's soloution.
- Port VS soloution files to NAnt, after trying several tools (including NAnts own Slingshot app) I finally settled on using Gordon Weakliems soloution (XSLT and NAnt). I had to hack the resulting build files to work with 1.0 of .NET Framework and to not make the build directories absolute. This works a treat but I will have more hacking to do so that these changes are worked into Gordons soloution and I can run it all automaticlly.
- Setup NAnt, this is easy enough, download, unzip, add to the system path. Done.
- Setup a Continuous integration system, Hippo.NET and CruiseControl.NET and Draco.NET all refused to work at first. The key seemed to be with permissions, running the Draco service on an account with a higher set of permissions solved the problem. However Hippo.NET and CruiseControl.NET had further issues that I did'nt have time to resolved.
What is next is to tweak the system (some thinking out loud here :)
- Script in the NUnit tests
- Script in the FxCop tests, need to look at possible NAnt tasks for that
CruiseControl has a great system of combining NAnt/NUnit info into its reporting, not sure how I can do this with Draco but there are reporting systems to plug into NAnt for that.