views:

4925

answers:

9

I've been searching around for a Continuous Integration solution for Ruby on Rails, but haven't been too pleased with the results. I came from a .NET shop that used CruiseControl.NET and was really spoiled with it's ease of use and rich status/reporting.

Ideally I'm looking for:

  • The obvious Git/SVN and Test::Unit integration

  • Integration with Rake and/or Capistrano

  • A web interface showing the status of the build

  • Email notification of failed builds.

  • Desktop notification (potentially through Growl)

  • REST API for build statuses

  • Plugin framework for running other code analysis tools and reporting results in the UI

+20  A: 

How about CruiseControl.rb?

Same crowd that did CruiseControl (thoughtworks) and written in Ruby. Very easy to use Rake to integrate your other tools, and can use the ruby-growl gem for your nitifications.

craigb
I've had trouble getting this to run on windows... didn't work as advertised in the 'it can't be that easy' video on the site for me.
Gishu
I wouldn't be swayed by the thoughtworks branding - judge it on it's merits.
cartoonfox
+3  A: 

cruisecontrol.rb would be the perfect match then.

http://cruisecontrolrb.thoughtworks.com/

madlep
+7  A: 

You might also want to consider Hudson. It is designed for use with Java projects although there is a great selection of plug-ins available including support for Ruby and Rake. It has a very useful web interface and supports email notifications as well as many others (like twitter, or giant bear lamps).

The community is also very active and there have been several articles on hooking up Hudson with Selenium which you might be helpful for testing Rails applications on the browser side.

Another one look at is Team City which is free for small projects and teams (including commercial). I really like Team City and have used it before for other projects but currently we're using Mercurial for source control and Team City's support was a little too beta when we were considering it.

I switched from CruiseControl.net to Team City and was absolutely shocked at the improvement. I'm partial to Hudson though because of its similar feature set and very active community.

Julian
+1 for TC. Hands down the best CI I have ever seen
Matt Briggs
TeamCity is the shit +1
Chris McCall
+1  A: 

Please take a look at http://teamcitydev.blogspot.com/2008/11/most-advanced-continuous-integration.html

+4  A: 

Like a number of people I was a huge fan of cruisecontrol.rb, but have recently switched my projects to Integrity.

Lightweight and easy to setup (much like cc.rb), but with a nicer interface.

csexton
I just tried to set up Integrity and it's a mess.
lawrence
+2  A: 

Run Code Run might be what you need.

Todd Stout
Now about to be shut down. :(
Andrew Grimm
+1  A: 

I've gotta vote for Cerberus

Its a very light-weight CI tool that is installed as a Ruby gem

cpjolicoeur
A: 

I just published a very simple Continuous Integration App for RubyOnRails + SVN/GIT. Maybe you should give it a try:

http://github.com/felipegiotto/Inotegration/tree/master

I took some ideas of measurement and testing tools and, after trying some CI tools and not liking anyone of them, I decided to build my own, without needing to build big XML files or any other configuration. Just the way Rails was made to be.

If you like, please send me some feedback..

Best regards,

Felipe Giotto.

A: 

Running CI after every commit seems rather expensive if you subscribe to the "commit often" philosophy. How about running a simple cronjob every few hours and email the results to a dev mailing list?

JasonOng
Or, how about just set up your CI server to only poll for changes once every hour? Most CI apps support this setting.
jerhinesmith