views:

199

answers:

9

We have appointed a new team lead who will be starting in the next few weeks. He has previously worked with TFS and is likely to want to use that for CI. The team is new to continuous integration so will take any advice he gives. Is there any reason to choose another system like CruiseControl or TeamCity, or are the features quite similar? We will be using it in an Agile/Scrum environment. Thanks.

Edit

Are TFS 2010 features much improved from previous versions?

+3  A: 

We are a $2.5B solar manufacturing company using TFS to manage all our software artifacts. We use continuous integration for most of our projects and it works great. We also use it in an Agile/Scrum environment, or at least we're moving in that direction.

Randy Minder
+6  A: 

I will default to my "comfortable" answer. If your team doesn't have any strong feelings about it, and TFS is the technology with which your new TL is most comfortable, use TFS. Especially with TFS 2010, it's perfectly adequate for CI.

If your team has objections, I suggest you ask them their reasons and do the research to find which would be better.

AllenG
+2  A: 

TFS does everything you need, and is relatively straightforward to set up and get going with CI. The main issue people have is licencing, but if you already have licences/that's not an issue, you shouldn't have any problems with TFS.

Grant Crofton
A: 

I would recommend you look at Hudson which I find excellent for building all kinds of stuff. We use it for repackaging upstream debian packages, C++ internal tools, Ruby apps and of course Java apps.

It integrates with a lot of popular other tools, version control systems, browsers, issue trackers, extreme feedback devices, etc... It allows to scale horizontally by adding slave servers to increase throughput.

Creating new jobs is very easy in the Web Interface.

Highly recommended.

Peter Tillemans
+1  A: 

You might want to add our Parabuild to your list. It is a commercial Continuous Integration server. Parabuild is free for small teams. Full disclosure: I am a core developer at Viewtier Systems, makers of Parabuild.

Slava Imeshev
+1 or the blatant plug ... and the full disclosure.
Martin
A: 

I've used TeamCity at several jobs as a Continuous Integration server. The TeamCity integration for Eclipse is very good and prevents a lot of downtime with larger teams.

Michael Shopsin
A: 

I have used TFS (pre-2010) for CI and found the CI part of it to be an absolute disaster.

TFS works pretty well as long as you only do the most basic stuff possible (fetch, compile), but as soon as you need to deploy, run tests, update database, copy files etc, it breaks down badly. I had to resort to writing weird undocumented XML config files and lots of hacks and work arounds to get it working. Also, documentation for these parts are non-existing. Avoid.

Martin Wickman
A: 

I've found TeamCity to be very easy to install and configure, but it is also immensely powerful. If you think you'll need scalability, TeamCity may be a good choice.

imoatama
A: 

You can find a list of CI tools, both open source and commercial, in the Continuous Integration Tools Directory

Franco