Goldberg: Lightweight, multi-language continuous integration server

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]

News Films

Our little film studio focuses on telling developer-centric stories that need to be seen.

Beyond Code: Season 3 / GopherCon 2015

0:00 / 0:00