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 companyto 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):
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.
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.
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.
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.
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.
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.
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.
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.