Class: Statistrano::Deployment::Strategy::Releases
- Defined in:
- lib/statistrano/deployment/strategy/releases.rb
Overview
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
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize(name) ⇒ Releases
constructor
A new instance of Releases.
- #list_releases ⇒ Object
- #prune_releases ⇒ Object
- #rollback_release ⇒ Object
Methods inherited from Base
#deploy, #flush_persisted_releaser!, #log_file, #persisted_releaser, #register_tasks, #remotes
Methods included from Registerable
Methods included from Config::Configurable
#configuration, extended, #inherited, #option, #options, #task, #validate
Methods included from CheckGit
Methods included from InvokeTasks
#call_or_invoke_task, #invoke_build_task, #invoke_post_deploy_task, #invoke_pre_symlink_task
Constructor Details
#initialize(name) ⇒ Releases
Returns a new instance of Releases.
52 53 54 |
# File 'lib/statistrano/deployment/strategy/releases.rb', line 52 def initialize name @name = name end |
Instance Method Details
#list_releases ⇒ Object
68 69 70 71 72 73 |
# 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 ⇒ Object
62 63 64 65 66 |
# File 'lib/statistrano/deployment/strategy/releases.rb', line 62 def prune_releases remotes.each do |remote| releaser.prune_releases remote end end |
#rollback_release ⇒ Object
56 57 58 59 60 |
# File 'lib/statistrano/deployment/strategy/releases.rb', line 56 def rollback_release remotes.each do |remote| releaser.rollback_release remote end end |