We’ve covered continuous integration projects such as
Jenkins
and
Travis
before. Now Goldberg, which has just turned 1.0, jumps into the
ring with a
CruiseControl.rb-compatible
offering.

Goldberg supports RVM and Bundler for Ruby projects, but it
can build most any software project, simply configure the command in
the project configuration. Goldberg also supports a number of callbacks
and notifications, to perform work when builds are complete, even when
projects go green.

Project.configure do |config|

  # project configuration
  config.frequency = 20
  config.ruby = '1.9.2' # Your server needs to have rvm installed for this setting to be considered
  config.environment_variables = {"FOO" => "bar"}
  config.after_build Proc.new { |build, project| `touch ~/Desktop/actually_built`}
  config.timeout = 10.minutes
  config.command = 'make' #to be used if you're using anything other than rake

  # callbacks and notifications

  # sending mail
  config.on_build_completion do |build,notification,previous_build_status|
    notification.from('from@example.com').to('to@example.com').with_subject("build for #{build.project.name} #{build.status}").send
  end

  # code to deploy on staging
  config.on_build_success do |build,notification|

  end

  # post to IRC channel & send mail
  config.on_build_failure do |build,notification|

  end

  # post to IRC channel & deploy on staging
  config.on_red_to_green do |build,notification|

  end

end

For advanced usage and information on how to contribute, be sure and
check out the README.

[Source on GitHub] [Discuss]


Have comments? Send a tweet to @TheChangelog on Twitter.

Subscribe to The Changelog Weekly – our weekly email covering everything that hits our open source radar.