Cruise_logo_large

Getting Notified

Let’s admit it, the main duty of continuous integration tool is to annoy notify developers when the build is broken. CruiseControl.rb is capable of delivering carefully measured doses of annoyance on demand, through a variety of communication channels, including email, instant messaging, RSS feeds etc, etc.

E-mail

CruiseControl.rb can send email notices whenever build is broken or fixed. To make it happen, you need to tell it how to send email, and who to send it to. Do the following:

1. Configure SMTP server connection. Open $cruise_data/site_config.rb, read the comments in it and edit according to your situation.
Project.configure do |project|
  ...
  project.email_notifier.emails = ['john@doe.com', 'jane@doe.com']
  ...
end
Please note, this setting can be put into project specific cruise_config.rb, usually at ~/.cruise/projects/YourProject/cruise_config.rb Or be put into repository specific cruise_config.rb, ie, YourRepository/cruise_config.rb in $cruise_data//site_config.rb, or on a per project basis, by placing the following line in cruise_config.rb:
Project.configure do |project|
  ...
  project.email_notifier.from = "cruisecontrol@doe.com" 
  ...
end

The emails from CruiseControl.rb can have a lot of details about the build, or just a link to the build page in the dashboard. Usually, you will want the latter. Set the dashboard URL in the $cruise_data/site_config.rb as follows:

Configuration.dashboard_url = 'http://your.host.name.com:3333'

CCMenu (on OSX)

CCMenu displays the project status of CruiseControl continuous integration servers as an item in the Mac OS X menu bar. Or in other words, CCMenu is to OS X what CCTray is to Windows.

CCMenu has explicit support for CC.rb built in, and it’s quite easy to add projects and even force builds on them.

Keep in mind, when adding a project, the server name is something like http://localhost:3333/. And it should look something like

CCTray (on Windows)

CCTray is a utility developed as part of CruiseControl.NET project that displays an icon in the bottom right corner of the screen. The icon changes its color to red when a build fails, and back to green when the build is fixed.

CruiseControl.rb can be monitored by CCTray. To connect CCTray to CruiseControl.rb dashboard, start CCTray, right click on CCTray icon, select Settings…, click on Add button, click on Add Server button, select “Via CruiseControl.NET Dashboard” option and type http://[cruise_host]:3333 in the text box. Click OK, select your project, click OK again, close the Settings dialog. Voila, you are monitoring your build with CCTray.

At the time of this writing, CC.rb was tested to work with CCTray 1.2.1 (download)

Monitoring by other means

Dashboard has RSS feeds both for the entire site and each project individually. This is useful for watching the build status of projects that you are not actively working on.

Version 1.4 also has plugins to get notifications via Jabber (instant messaging), and Growl. Read about these and other plugins in plugin documentation. It’s also quite easy to write your own notification plugin if needed.