posts - 76, comments - 26, trackbacks - 0

CruiseControl out, JetBrains TeamCity in

I have a lot of software projects at home that I'm working on for personal or professional reasons. Continuous Integration is a well known and love tool for developers. I've rolled my own CI solutions in the past and moved to CrusieControl.NET several years ago. CCNET is great, but it's not fun to setup and configure - lots and lots of xml and xslt.

I've been playing with JetBrains TeamCity for the last several works and I'm very impressed. Not only is it's much easier to use (no XML), but it to is free (for me) to use (more on that below). I was looking for a better home solution, but I was also researching for a better solution for my employer. We have a very large codebase that takes more than 30 minutes to build. We have more than 30 developers in 3 states making frequent commits. Our current CCNET server is queued up with builds all day. As soon as one finishes (even if it's a failed build) another is waiting in the queue and it immediately triggers the build again. The quick feedback loop for an automated build is drastically reduced. It's not uncommon for a build to be broken at the beginning of the day, but the build to not go red until well have the majority of developers have left for the day.

TeamCity also has a "Build Grid" concept that allows you to scale builds out to many physical machines (Build Agents). I believe this feature can be easily be used to scaled the different modules of the build out to multiple physical machines asynchronously. TeamCity also has a "Pre-tested commit" feature, I'm very excited about this one. This allows you to execute a build on the change set being committed before the commit is actually finalized. This feature will definitely keep developers vested in the build's health.

TeamCity has a nice web console - here are a few screenshots...

Projects View:

image

Projects and Build Configurations Administration:

image

Version Control System Roots:

image

It supports most major version control systems, build tools (Ant, NAnt, MSBuild, Visual Build Pro, FinalBuilder, etc.)

Possibly the best feature is TeamCity's licensing, which is OpenSource and home-use friendly. The professional server ships with 3 free build agents, 20 user accounts, and 20 build configurations. For me, that means I can have TeamCity use the Dell PowerEdge I have as a build agent, I can have up to 20 users in the system, and I can have it manage up to 20 builds for me. That's extremely generous in my opinion. I'm able to use TeamCity at home for free.

That's smart business because I'm going to be pushing my employer to give them a good chunk of money. If they wouldn't have provided this product to me in this manner, I probably never would have taken the time to fall in love with it.

Print | posted on Saturday, September 06, 2008 12:00 AM |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 6 and 2 and type the answer here:

Powered by: