If you haven’t heard of Continuous
Integration yet, it’s the practice of setting up an automated system
that rebuilds projects automatically whenever someone commits a new change
to your source code repository. It ensures that whatever is in your
repository builds and runs: automated builds usually involve compiling,
running unit tests and packaging the installer.
To do continuous integration, you need a tool that monitors your source code
repository and starts the builds – a continuous integration server. My weapon
of choice is TeamCity, a free CI server
written in Java with first-class support for .NET and its toolchain
(like NAnt, NUnit,
NCover or PartCover).
TeamCity is pretty easy to deploy – the Windows package has an installer
which leaves you with a fully working server after just a few clicks and even
the Linux package is pretty simple to deploy: Download, unzip, run
runAll.sh and you’re done. To properly integrate it into a Linux
server (so it will come back up after rebooting and can be reached via HTTP
without having to run either Apache or TeamCity on a non-standard port),
you’ll need to run your own Tomcat server.
This guide will tell you how to do it!