Class: CapistranoMulticonfigParallel::StandardDeploy

Inherits:
Object
  • Object
show all
Extended by:
FileUtils
Defined in:
lib/capistrano_multiconfig_parallel/helpers/standard_deploy.rb

Overview

class used to find application dependencies

Class Method Summary collapse

Class Method Details

.execute_standard_deploy(options) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/capistrano_multiconfig_parallel/helpers/standard_deploy.rb', line 15

def self.execute_standard_deploy(options)
  app = options.fetch(:app, '')
  stage = options.fetch(:env, 'development')
  action_name = options.fetch(:action, 'deploy')
  action = "#{action_name}[#{options.fetch(:task_arguments, []).join(',')}]"
  arguments = setup_command_line_standard(options.fetch(:env_options, {}))

  command = "bundle exec cap #{app}:#{stage} #{action}  #{arguments}"
  puts("\n\n\n Executing '#{command}' \n\n\n .")
  sh("#{command}")
rescue => ex
  CapistranoMulticonfigParallel.log_message(ex)
  if @name == 'deploy'
    begin
      action = "deploy:rollback[#{options.fetch(:task_arguments, []).join(',')}]"
      command = "bundle exec cap #{app}:#{stage} #{action} #{arguments}"
      puts("\n\n\n Executing #{command} \n\n\n .")
      sh("#{command}")
    rescue => exception
      CapistranoMulticonfigParallel.log_message(exception)
      # nothing to do if rollback fails
    end
  end
end

.setup_command_line_standard(options) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/capistrano_multiconfig_parallel/helpers/standard_deploy.rb', line 7

def self.setup_command_line_standard(options)
  opts = ''
  options.each do |key, value|
    opts << "#{key}=#{value}" if value.present?
  end
  opts
end