Guest User

Untitled

a guest
May 27th, 2018
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. require 'capistrano'
  2. unless Capistrano::Configuration.respond_to?(:instance)
  3. abort "capistrano/ext/multiserver requires Capistrano 2"
  4. end
  5.  
  6. # Example Usage:
  7. # servers.define :app1, 'user@app1.servers', :port => 9999
  8. # servers.define :app2, 'user@app2.servers', :port => 9999
  9. # servers.define :db1, 'user@db1.servers', :port => 9999
  10. # servers.define :db2, 'user@db2.servers', :port => 9999
  11.  
  12. module MultiServer
  13. def define(name, host, options={})
  14. options = {:roles => [:app, :web]}.merge(options)
  15.  
  16. desc "Add #{name} to servers to perform subsequent tasks on"
  17. task(name) do
  18. options.delete(:roles).each do |r|
  19. role(r, host, options)
  20. end
  21. end
  22.  
  23. end
  24. end
  25.  
  26. Capistrano.plugin :servers, MultiServer
Add Comment
Please, Sign In to add comment