Geeks With Blogs
Matt Roberts Rails and .NET

At my current place, we’ve set up TeamCity as our build server. Previously I’ve used CruiseControl.net and never really questioned it – it works, it does the job, seemed quite nice if a little fiddly to setup.

(If you’re thinking “Hang on, Team City isn't free is it?”  - well there is a free version that is limited to a limited number of projects, configurations and agents – check the site for more details)

I was a bit sceptical about moving to TeamCity because I didn’t want to feel the pain of setting up yet another build/ci server and spending ages trying to get it working with our nant scripts – turns out I was so so wrong to worry. Team city is awesome! Let me talk you through some of the awesomeness…

 

Setting it up is a breeze

tc1

 

Its seriously easy to set a build configuration using TeamCity. Its all driven through the nice friendly web interface, so a real breeze to setup. Assuming you have an automated build script of some sort set up for your solution (like nant, nant, maven2, msbuild etc) then its really easy to plumb this into Team City. You can set up multiple build agents for your build really easily too.

Fantastic UI

So once you’ve got your build set up, you get all the usual stuff like a build history including things like which check-ins caused the build etc. You can drill into previous builds and see what happened – get the full build log, look at the tests, download the artefacts you defined for the build, all good stuff. You can also manually force a build. If a build fails you can set responsibility for fixing too. All of this is present in most (if not all) CI servers, but its just a lot more polished and feature-rich in Team City. 

Really Awesome Test and Cover Integration

This is what got me really excited (maybe I should be worried about that). You get all sorts of great reports/graphs from Team City that are really useful – like this one:

 

tc2

 

This shows a history of a swear word test we have, and how long its been taking to run and on what build agent.

If you have test coverage set up (like PartCover) then you can also integrate that and you get some really nice reports showing your coverage by class, methods and LOC – you even get an indicator of what the check-in did to improve (or reduce) that coverage – which is an awesome motivator for adding more tests!

 

So, all in all, I really like TeamCity, and I’m glad to be using it. If you’re considering getting a CI server set up for your project, or you want to try another flavour of CI server, check it out!

Posted on Wednesday, August 11, 2010 12:25 AM .net | Back to top


Comments on this post: The awesomeness of TeamCity

# re: The awesomeness of TeamCity
Requesting Gravatar...
Would this have any benefits to a team successfully using cruisecontrol?
Left by Steve on Aug 16, 2010 2:15 AM

# re: The awesomeness of TeamCity
Requesting Gravatar...
Good question :)

Yes! I think its well worth a look if you're currently using CC (assuming you mean CC.NET and not the paid for product CC). As I said, I find it really easy to setup new projects and builds, and to get really useful information from TC about what is going wrong...

If you've invested in CC already, then you have a NANT script or similar that you can easily test with TC to see what you think of it - just try it, get a test or dev box thats lying around doing nothing and get it set up, you'll be surprised how simple it is!

Left by Matt Roberts on Aug 25, 2010 2:06 AM

Your comment:
 (will show your gravatar)


Copyright © Matt Roberts | Powered by: GeeksWithBlogs.net