Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'capistrano'
- unless Capistrano::Configuration.respond_to?(:instance)
- abort "capistrano/ext/multiserver requires Capistrano 2"
- end
- # Example Usage:
- # servers.define :app1, 'user@app1.servers', :port => 9999
- # servers.define :app2, 'user@app2.servers', :port => 9999
- # servers.define :db1, 'user@db1.servers', :port => 9999
- # servers.define :db2, 'user@db2.servers', :port => 9999
- module MultiServer
- def define(name, host, options={})
- options = {:roles => [:app, :web]}.merge(options)
- desc "Add #{name} to servers to perform subsequent tasks on"
- task(name) do
- options.delete(:roles).each do |r|
- role(r, host, options)
- end
- end
- end
- end
- Capistrano.plugin :servers, MultiServer
Add Comment
Please, Sign In to add comment