Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News ThoughtWorks Releases CruiseControl.rb

ThoughtWorks Releases CruiseControl.rb

ThoughtWorks announced release of CruiseControl.rb 1.0, open-source continuous integration tool for Ruby / Rails projects.

CruiseControl.rb is a continuous integration tool. Its basic purpose in life is to alert members of a software project when one of them checks something into source control that breaks the build. CruiseControl.rb is easy to install, pleasant to use and simple to hack. It's written in Ruby.

Compared to the original CruiseControl, CC.rb has no advanced features, and in this release only supports one source control system (Subversion). On the upside, it has a clean and convenient web interface, integrates well with Rails projects, and greatly simplifies installation and configuration of a basic build server. According to authors, it's possible for a new user to get CC.rb up and building a Rails project in 10 minutes.

Perhaps the most significant change in CruiseControl.rb compared to its older, Java and .NET-based siblings, is that it does not use XML for configuration or XSLT for transformation of build results. The decision was no doubt influenced by the Ruby on Rails community's general dislike of XML.

Alexey Verkhovsky from ThoughtWorks Canada, well-known to the Ruby community, is the project lead. Over the last couple of weeks he has setup continuous integration builds for various Rails components, in so doing providing a valuable service to the community.

ThoughtWorks apparently has apparently learned a lesson or two from the marketing of Ruby on Rails. The project homepage has an elegant, modern design, and a screencast is supplied for curious potential users. A live demo is also available for the public to play with.

CruiseControl.rb 1.1 is expected soon and will contain several notable enhancements, including Growl notification, separate RSS feeds per project, and proper daemonization support so that it can be deployed as an /etc/init.d service on Linux.

Rate this Article