Continuous integration using TeamCity, Rake, Albacore, GitHub and NUnit for .Net – Part 1

This is simply going to be my documentation of how I have put up a Continuous integration flow with TeamCity, Rake, Albacore, GitHub and NUnit for a .Net project.

Environment

The environment for this article is a live environment, NOT a test on a Windows 7 machine, but I’m instead setting this up on a VPS with Windows Server 2008 R2 hosted at the excellent providers Tilaa. The TeamCity installation will be accessible via a public URL: http://ci.foo.com. To achieve this we will make use of IIS 7 Reverse proxying. Why? Felt simpler and I will probably make use of the site to provide reports etc. via e.g http://ci.fool.com/reports

Install TeamCity

Start by downloading the installation media from: http://www.jetbrains.com/teamcity/ This article will use v6.5.1 and the Proffesional edition. The installation is fairly simple and is documented using the following screenshots.

Make TeamCity public accessible

As of right now our TeamCity webserver is only accessible from the server where we installed it on. To make it public accessible, using the URL: http://ci.foo.com (we installed it on http://ci.foo.com:8080) we will use the IIS 7 Application Request Routing module but we will NOT setup a webfarm as other articles do; but instead setup a Reverse proxy on a normal IIS-site.

Install Application Request Routing module

I will install this module using Microsoft’s Web platform installer. Fire it up an locate the URL rewriting module (Products –> Server). Install it and let it include the modules it depends on.

NOTE! I have already installed the URL Rewriting module, hence it’s not selected as a dependency. It’s also worth noting that it’s not enough with the URL Rewriting module to setup a Reverse proxy.

What’s left?

That’s it for now. Part 2 will be written soon, and then we will look at using Rake and Albacore for building our Visual Studio solution and running our unit tests.

//Daniel

2 thoughts on “Continuous integration using TeamCity, Rake, Albacore, GitHub and NUnit for .Net – Part 1

  1. Pingback: Continuous integration using TeamCity, Rake, Albacore, GitHub and NUnit for .Net – Part 2 « Daniel Wertheim

  2. Pingback: Continuous integration using TeamCity, Rake, Albacore, GitHub and NUnit for .Net – Part 3 « Daniel Wertheim

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s