Class: SimpleDeploy::Stack::Deployment

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_deploy/stack/deployment.rb,
lib/simple_deploy/stack/deployment/status.rb

Defined Under Namespace

Classes: Status

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Deployment

Returns a new instance of Deployment.



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/simple_deploy/stack/deployment.rb', line 12

def initialize(args)
  @config      = SimpleDeploy.config
  @logger      = SimpleDeploy.logger
  @region      = @config.region
  @instances   = args[:instances]
  @environment = args[:environment]
  @ssh_user    = args[:ssh_user]
  @ssh_key     = args[:ssh_key]
  @stack       = args[:stack]
  @name        = args[:name]
end

Instance Method Details

#clear_deployment_lock(force = false) ⇒ Object



46
47
48
# File 'lib/simple_deploy/stack/deployment.rb', line 46

def clear_deployment_lock(force = false)
  status.clear_deployment_lock force
end

#clear_for_deployment?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/simple_deploy/stack/deployment.rb', line 50

def clear_for_deployment?
  status.clear_for_deployment?
end

#execute(force = false) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/simple_deploy/stack/deployment.rb', line 24

def execute(force=false)
  wait_for_clear_to_deploy(force)

  if clear_for_deployment?
    status.set_deployment_in_progress

    @logger.info 'Starting deployment.'
    return_val = executer.execute :sudo    => true,
                                  :command => deploy_command

    return false unless return_val

    @logger.info 'Deployment complete.'

    status.unset_deployment_in_progress
    true
  else
    @logger.error "Not clear to deploy."
    false
  end
end