Pages

Sunday 1 November 2009

Trying out TeamCity and CruiseControl

A few teams use Cruise Control at work. It seems to be a fairly standard choice when it comes to continuous integration. Roy Osherove recommends TeamCity over CruiseControl because he doesn't like getting his hands dirty with XML configuration (can't blame him).

I tried both to get a feel of what you can do with them. I ran TeamCity of my main machine and CruiseControl on a VM to avoid clashes.

I managed to get a build running in TeamCity without too much difficulty. I installed the tray notifier.

CruiseControl is a bit more tricky. After I edited the config files I kept getting exceptions when trying to startup ccnet.exe. Had to go through several install iterations before getting something running.

Installing TeamCity:
  • Install Tortoise SVN
  • Install VisualSVN Server
  • Run the TeamCity installer
  • Start the build agent manually (rather than through a Windows service).
  • Install the TeamCity Windows tray notifier


Installing Cruise Control inside a virtual machine.
  • Windows Virtual PC RC, wich is a new version of Virtual PC for Windows 7.
  • Install Virtual Server 2008
  • Install SVN command line  
  • Edit the ccnet.config file
  • Get the Web Dashboard working:
    • Install IIS: under Windows Server 2008, it's not a Windows feature any more, it's a server role. You have to go to Server Manager > Roles > Add Roles and follow the wizard to add IIS.
    • Run the CruiseControl.Net installer
    • Create a new application in IIS for the ccnet webdashboard. In Server Manager, go Roles > Web Server (IIS) > Internet Information Services, open Sites > Default Web Site. Right-click Default Web Site and choose Add Application. Set Application Pool to Classic .NET AppPool.







No comments: