require 'aws-sdk'
namespace :deploy do
desc 'Deploy staging' Deliv::Deploy.remote_environments.each do |environment| task environment, [:branch] => :environment do |_t, _args| puts "Starting #{environment}...".white Deliv::Deploy.verify_env! config = Deliv::Deploy::Config.new(environment) client = Aws::OpsWorks::Client.new git = Deliv::Deploy::Git.new(environment) git.deploy resp = client.create_deployment( stack_id: config.stack_id, app_id: config.app_id, command: { name: 'deploy' }, comment: "#{git.user_name} deployed to #{environment} at #{Time.current.iso8601}" ) deployment_id = resp[:deployment_id] if deployment_id.present? puts "Deployed: #{deployment_id}".green else puts 'Error!'.red end end end
end