CruiseControl.NET on Windows Server 2012 #1: Installation

This should be the start of a series of post about how to install and configure CruiseControl.NET on a Windows Server 2012 system.
In the next upcomming posts I will also show you how to compile C#/C++ project, run unit test, setting security permissions and some more advanced stuff.

Setting up the IIS:
First of all we have to install and configure the IIS on our system.

  1. Open the Server Manager
  2. On the welcome screen, click "Add roles or features"
  3. When the wizard has been opened, click "Next" until you reach the "Server Roles" section and select "Application Server" and "Web Server (IIS)":

  4. Click "Next" and select ".NET Framework 3.5 Features":

  5. Continue to the "Application Server" -> "Role Services" section and select "Web Server (IIS) Support":

  6. Now go to "Web Server Role (IIS) -> "Role Services" and expand the "Application Development" node and select ".NET Extensibility 3.5" and "ASP.NET 3.5":

  7. Click "Next" and hit "Install".

Setting up the webdashboard:

  1. Download CruiseControl.NET and install it where you like (leave all the default settings).
  2. Open the "IIS Manager"
  3. Right click on "Application Pools" and select "Add Application Pool..." and configure it like this:

  4. Add a new application under the "Default Web Site" and select the just created "CruiseControl.NET" application pool and point to the path where the "webdashboard" directory of your installation is:

Configure the windows service:

  1. Create a new local user called "CruiseControl"
  2. Open the "Server Manager", click on "Tools" and select "Services".
  3. Search for "CruiseControl.NET Server" and open the entry
  4. Change the "Startup type" to "Automatic".
  5. Open the "Log On" tab, select "This account" and enter your CruiseControl account credentials:

  6. If you want to run integration tests on your build server that require to created windows or stuff like this you have to enable the "interact with desktop" feature for this service.
    By default this is only possible when using the "Local System" account but here is a great post of how to this with every user.
  7. Start the service.

Now open http://localhost/ccnet or what ever you've configured and everything should work. Congratulation Cool