Recently I investigated some options for having Continuous Integration in our new application we’re working on at my company. I wanted a way where we can manage builds, deployments and eventually testing. My first thought was to look into the freeware solution I have heard of called CruiseControl.NET by ThoughtWorks. CruiseControl sounded pretty nice: open source, hooks into all major source control repositories, can utilize many build engines like MSBuild, NAnt, etc. Once I started reading up though it seemed like there was a new option on the horizon which was really nice and had an excellent user interface with the dashboard. That is TeamCity by JetBrains.
TeamCity has a lot of options to work with on your build management. It is also free except for one exception, that if you want LDAP integration or more than 20 users or build configurations then you have to get the enterprise edition which is $1999.
First off, TeamCity’s web dashboard is where the power is. After you run the setup, you are already at the dashboard ready to go.
As you can see the ability to manage your builds, agents and tests all from the dashboard is very slick. I also like how you can see within each failed build, which Subversion (since we use Subversion) commits were involved between the last build and the current one. This is great for regression to determine which changes caused the issues. Currently we have nothing like this at the moment. And the ability to label and commit successful builds is great for rolling back builds.
The other part of TeamCity which looks very cool is the built in unit testing. Currently we are not implementing unit testing but this is something we will need to implement, to ensure testing of each build successfully passes our required conditions. Obviously this will save us plenty of time down the road without having to perform manual tests of all the Actions in our MVC Controllers. The testing support in TeamCity looks very verbose and provides good support on seeing which tests failed and which passed.
And lastly you can set a nice set of options to trigger your builds such as certain scheduled time, dependant builds successfully building or even commit of files within the repository.
So far, I am liking it and will continue to test it more when I have the time. But for now I already have our development system hooked into this and doing nightly builds. Next step is to configure TeamCity to deploy the build artifacts to the ASP.NET webapp automatically.
- BROWSE / IN TIMELINE
- « AT&T and Apple Piss Me Off Too
- » Why I Can’t Take FriendFeed Seriously
- BROWSE / IN Development Technology
- « AT&T and Apple Piss Me Off Too
- » Why I Can’t Take FriendFeed Seriously
SPEAK / ADD YOUR COMMENT
Comments are moderated.




