
I just started work on a Rails project, and I was setting up my development environment. Source control? That's easy, Subversion. IDE? Well, there are some promising projects like the
intelliJ plugin and the
jEdit plugin, but I finally settled on Eclipse with the RDT plugin. Database? Oracle 10g. Continuous Integration? ... Ahem, Continuous Integration!?! ... Unfortunately the Ruby continuous integration
field looks pretty weak.
Damage control looked promising, but active development is stopped, their source repository is down, and from what I gather the development team broke most of the functionality before they gave up on it. The rest of the solutions I found by googling involved rolling your own, shell scripts and cron, or using cruiseControl to trigger things, but cruise doesn't support rake. Finally, after copius googling I found a link to
Cerberus. The Cerberus page lists
Anatol Pomozov as the only admin on the project, so I assume he is the creator. The aim is to "guard your tests and not allow your project to go to the world of dead." I got this from the
README file which contains a description of
what Cerberus means.
What I like about Cerberus is that it is very simple to use. To install it you just do 'gem install cerberus'. Once installed you run the command 'cerberus add' followed by the repository URL, the name of the app, and a list of people who should get the emails. Finally you can run 'cerberus buildall' and Cerberus will run some rake tasks to build and test your project. It is very simple! Since cerberus isn't a persistent server it relies on cron for the automation, but for me that is just fine. There are some yml configuration files, but they are very minimal. You should have no problems figuring it out. I would have liked some more documentation because I bet there are some features not covered in the README, but overall I can't complain. I had continuous integration up and running in minutes. If you are looking for CI in Ruby, you should give Cerberus a shot. I think the ease of use will win it many fans in the future.