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