What tools would you recommend for setting up CI for build and deployment of multiple websites built on DotNetNuke using SVN for source control?
We are currently lo
Microsoft loosened it's constraint on the Testing Platform by including it in Visual Studio 2008 Professional and allowing for the tests to be run from the command line with Framework 3.5 installed. We did a crossover for a client recently and so far they have been able to run all the tests without the need for NUnit.
Take a look at Hudson. It's highly customizable, and, IMHO, easier than CruiseControl.
We use CruiseControl with NUnit, NCover, FxCop, SVN and some custom tools we wrote ourselves to produce the reports. In my opinion it has proven (over the last few years) to be an excellent combination.
It's frustrating that MS restricts all of its integration tools to VSTS. Its test framework is as good as NUnit, but you can't use its code coverage tools or anything else.
I'd check out XNuit - it's looking pretty promising (but currently lacking UI).
We automate nightly builds, and you could automate UAT and manual test builds, but I'm not sure that we'd ever want to automate the release to our production servers. Even if it were any change would be important enough that someone would have to watch over it anyway.
I would have a look at Team City http://www.jetbrains.com/teamcity/index.html I know some people who are looking in to this and they say good things about it.
My companies build process is done in FinalBuilder so I'm going to be looking at their server soon.
CC is quite good in that you can have one CC server monitor another CC server so you could set up stuff like - when a build completes on your build server, your test server would wake up, boot up a virtual machine and deploy your application. Stuff like that.
We use CruiseControl.NET running msbuild scripts. Msbuild is responsible for updating from SVN on every commit, compiling, and running FxCop and NCover/NUnit.
I would recommend you take a look at NAnt + NUnit ( + NCover) + TeamCity with SVN for your build system. There is actually a very nice article describing this configuration at Pete W's idea book (Sorry, this link doesn't exist anymore!)