Hudson or Teamcity for continuous integration?

Continuous IntegrationHudsonTeamcityJenkins

Continuous Integration Problem Overview


We are a Java shop looking for a CI tool to use. Both Hudson and Teamcity seem to be free but Teamcity seems slicker and with more support.

I was wondering why one would still use Hudson and if anyone could provide any argument for/against either?

Continuous Integration Solutions


Solution 1 - Continuous Integration

Team City is by far and away the best CI server out there. Its killer feature for me is the tight integration with IDEs (IntelliJ, Eclipse and VisualStudio). It can show you, for example, when a file you're editing in the IDE becomes out of date, who changed it and what they changed. You can commit from the IDE to the CI server, run the comile and tests on the build grid, and then the CI server will commit if the build is successful. You can click on build reports in the CI web app and it will open the appropriate files in the IDE.

There are plugins available (I wrote one: http://team-piazza.googlecode.com), but not many.

Solution 2 - Continuous Integration

+1 for Hudson.

Hudson is a very active project, has a wide community of users and an active users mailing list, is really easy to start with, is easy to use, has been used on huge, very huge, projects (JBoss, JAX-WS, etc) and thus has proven records of success, offers very nice advanced features (e.g. build matrix, build clustering, etc), is open source, has a lot of plugins...

And if support is really an important thing, you can get commercial support from Sun. But FWIW, I never faced any blocking problem with Hudson.

Update: As you may know, Kohsuke Kawaguchi (the creator of Hudson) has left Sun/Oracle and started his own company to take Hudson to the next stage. In other words, this is not a threat for Hudson. And if you are looking for support, you can get a certified version of Hudson CI Server as part of a subscription plan (this certified version bundles a high quality release of Hudson with a predefined set of plugins plus some commercial one).

Update: To illustrate the size of their respective user base, here is a comparison of job trends for several CI tools on Indeed (live query):

Hudson build engineer, CruiseControl build engineer, Bamboo build engineer, TeamCity build engineer Job Trends

This is of course not a technical indicator.

Solution 3 - Continuous Integration

We started out with Hudson for a couple of Flex projects, then we migrated to TeamCity, when the .NET developers joined our CI efforts. Now we have replaced the TeamCity server again, back to Hudson. The main reasons are:

  • The vibrant Hudson community, better than support.
  • The huge amount of plugins for every kind of tasks.
  • The open source.
  • Hudson is for free, TeamCity is only free for 10 projects.

edit: TeamCity is now free for 20 projects.

Solution 4 - Continuous Integration

TeamCity is great because it allows each developer to have their own build profile and hook into it from their IDE. That a lone is 'butt-kickin'. There is also support for GIT etc. Seriously take a look at it. The professional version is free.

Solution 5 - Continuous Integration

The biggest argument against Hudson is that every release introduces new bugs.

Releases are very frequent, so you have to upgrade frequently so you don't fall behind. That means that you need to devote a lot of time to diagnosing issues and rolling back to previous Hudson releases. (Sometimes a rollback isn't even possible!)

We are introducing Continuous Deployment in our shop (when you check in code, it gets deployed on the live site!) and having to wrestle with Hudson is costing us too much.

We are actively looking at migrating to TeamCity purely because of the cost of Hudson's bugs.

Solution 6 - Continuous Integration

I really liked Teamcity but in the environment I am working it, the time it would take to get a Purchase Order for Teamcity through the layers of management would likely have exceeded the time it took to migrate everything over to Hudson.

Solution 7 - Continuous Integration

I have used and setup TeamCity and Jenkins (aka the new Hudson) before and while I would agree that TeamCity is a lot slicker to set up it is only free for teams of 10 users or less. Both systems are very easy to set up and have a plugin system that is well supported. The killer feature in TeamCity is the pre-checkin workflow where you can test code before checking it into source control and the nicety of Jenkins is that it is completely free even if you grow beyond the 10 users and build agents.

Solution 8 - Continuous Integration

I'm just starting to get used to hudson ready to experiment and see how it will fit into our current environment. I have absolutely zero experience with Teamcity so can't comment on that but I am enjoying working with hudson thus far.

There are lots of plugins for hudson plus the hudson site gives you plenty of advice for writing your own (http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson).

Solution 9 - Continuous Integration

I've been recommending to clients that they consider Bamboo. The reason being that (ok, from reading the spec sheets!) it has a very similar feature set to TeamCity. However the main benefit is very tight integration with JIRA which is quite popular as a feature/bug tracking system. The complete suite being JIRA, Greenhopper, Bamboo and Eclipse. Quite a few clients also have HP Quality centre and there are plugins which joins that to JIRA as well. I also like the fact that JIRA, Bamboo and GreenHopper all come from Atlassian.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpdevaView Question on Stackoverflow
Solution 1 - Continuous IntegrationNatView Answer on Stackoverflow
Solution 2 - Continuous IntegrationPascal ThiventView Answer on Stackoverflow
Solution 3 - Continuous IntegrationsubotnikView Answer on Stackoverflow
Solution 4 - Continuous IntegrationBeaumont MuniView Answer on Stackoverflow
Solution 5 - Continuous IntegrationjdtangneyView Answer on Stackoverflow
Solution 6 - Continuous IntegrationsalView Answer on Stackoverflow
Solution 7 - Continuous Integrationrunxc1 Bret FerrierView Answer on Stackoverflow
Solution 8 - Continuous IntegrationJake WorrellView Answer on Stackoverflow
Solution 9 - Continuous IntegrationdrekkaView Answer on Stackoverflow