Wynn Netherland changelog.com/posts

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 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.


Discussion

Sign in or Join to comment or subscribe

Player art
  0:00 / 0:00