I just went through the options here and thought I'd roll them up as of late 2011.
Integrity
After a near-death experience that left the still-linked-to website with outdated information and downed the demo site, this project has a spark of life again. But the documentation hasn't moved on, and lots and lots of the steps in the tutorial are just plain broken; I had to change references to gems, build some things out of band, and then I still couldn't get it working.
Cruise Control.rb
Dead simple: you just download it, run a command line to add your project (there is no UI for doing so), and run the Rails app. But there's no UI for editing your project, either, and there's no real integration with build artifacts aside from displaying links to them: you get no graphs of tests run, no trend lines, etc. I also had to adjust the routes.rb
file to get the code linking working (the resources :projects
line needs to move below all the other non-default routes).
TeamCity
This looks awesome, but the pay scale seems out of whack. 3 agents free and then when you're dependent you need to dole out hundreds of dollars. Personal Builds looks great, but don't have the budget.
Jenkins (née Hudson)
This is a Java stalwart and it is loaded up with a thousand options, so the UI is confusing and it's a chore to set up your projects. But once you set it up you get a whole lot of plugins that can pull from most anywhere, run most anything, and report most everything. The OS X Installer points Jenkins at /Users/Shared/Jenkins/Home
but fails to create that directory or chown
it to daemon
(which is uses by default, and you should change to a new jenkins
user so you can set up GitHub integration).
Others
I didn't really try these, but thought I'd mention why:
- CI Joe wants to own the GitHub repo more than I want it, and its creators aren't even using it; they're on Jenkins.
- Cerberus seems neatly small but doesn't have a UI and doesn't automatically publish build artifacts where others can see them.
- BigTuna seems to be a CruiseControl.rb clone without the (already minimal) community support.
- Bamboo looks really neat if you use JIRA and BitBucket, but we use neither. It does deploys but we already have those set up in Capistrano.
The Choice
We went with Jenkins, but I really wish one of the lighter-weight solutions had worked out.