class Statistrano::Deployment::Strategy::Releases
deployment type for running a releases deployment accross multiple remotes
@example:
define_deployment "multi", :releases do build_task 'deploy:build' local_dir 'build' remote_dir '/var/www/proj' check_git true git_branch 'master' remotes [ { hostname: 'web01' }, { hostname: 'web02' } ] # each remote gets merged with the global # configs and deployed to individually # end
Public Class Methods
new(name)
click to toggle source
# File lib/statistrano/deployment/strategy/releases.rb, line 52 def initialize name @name = name end
Public Instance Methods
list_releases()
click to toggle source
# File lib/statistrano/deployment/strategy/releases.rb, line 68 def list_releases remotes.each do |remote| releases = releaser.list_releases(remote).map { |rel| rel[:release] } Log.info :"#{remote.config.hostname}", releases end end
prune_releases()
click to toggle source
# File lib/statistrano/deployment/strategy/releases.rb, line 62 def prune_releases remotes.each do |remote| releaser.prune_releases remote end end
rollback_release()
click to toggle source
# File lib/statistrano/deployment/strategy/releases.rb, line 56 def rollback_release remotes.each do |remote| releaser.rollback_release remote end end
Private Instance Methods
releaser()
click to toggle source
# File lib/statistrano/deployment/strategy/releases.rb, line 77 def releaser Releaser::Revisions.new end