Class: Anvil::App::HostDeployer

Inherits:
Struct
  • Object
show all
Includes:
ConfigurationReader, StandardProcedure::Async::Actor
Defined in:
lib/anvil/app/host_deployer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ConfigurationReader

#configuration_for, #configuration_for_app, #environment_for, #environment_for_app, #hosts, #user_for, #validate

Instance Attribute Details

#branchObject

Returns the value of attribute branch

Returns:

  • (Object)

    the current value of branch



9
10
11
# File 'lib/anvil/app/host_deployer.rb', line 9

def branch
  @branch
end

#configurationObject

Returns the value of attribute configuration

Returns:

  • (Object)

    the current value of configuration



9
10
11
# File 'lib/anvil/app/host_deployer.rb', line 9

def configuration
  @configuration
end

#hostObject

Returns the value of attribute host

Returns:

  • (Object)

    the current value of host



9
10
11
# File 'lib/anvil/app/host_deployer.rb', line 9

def host
  @host
end

Instance Method Details

#callObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/anvil/app/host_deployer.rb', line 13

def call
  first_deployment = !git_remote_exists?
  if first_deployment
    switch_off_downtime_checks
    create_git_remote
  end

  do_git_push
  if first_deployment
    switch_on_downtime_checks
    run_after_first_deployment_scripts
    scale_processes
  else
    run_after_deployment_scripts
  end
  logger.info "Deployment for #{host} complete"
end