Goldberg: Lightweight, multi-language continuous integration server

Wynn Netherland Wynn Netherland

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 { |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('').to('').with_subject("build for #{} #{build.status}").send

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


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


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



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

[Source on GitHub] [Discuss]

0:00 / 0:00