38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/danarchy_deploy.rb', line 38
def self.new(deployment, options)
puts "\n" + self.name
options[:working_dir] = options[:deploy_dir] + '/' + deployment[:hostname]
connector = { hostname: deployment[:hostname],
ipv4: deployment[:ipv4],
ssh_user: deployment[:ssh_user],
ssh_key: deployment[:ssh_key] }
install_gem(connector, options)
push_deployment(connector, options)
deploy_result = remote_LocalDeploy(connector, options)
if deploy_result[:stderr]
puts ' ! Deployment failed!'
abort("STDERR:\n#{deploy_result[:stderr]}")
else
puts deploy_result[:stdout]
end
pull_deployment(connector, options)
remote_Cleanup(connector, options)
puts "\nRemote deployment complete!"
deployment = JSON.parse(File.read(options[:deploy_file]), symbolize_names: true) if options[:deploy_file].end_with?('.json')
deployment = YAML.load_file(options[:deploy_file]) if options[:deploy_file].end_with?('.yaml')
deployment
end
|