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