lib/travis/cli/setup/code_deploy.rb in travis-1.11.1 vs lib/travis/cli/setup/code_deploy.rb in travis-1.12.0

- old
+ new

@@ -1,54 +1,58 @@ +# frozen_string_literal: true + require 'travis/cli/setup' require 'shellwords' module Travis module CLI class Setup class CodeDeploy < Service - description "triggering a new deployment on Amazon CodeDeploy" + description 'triggering a new deployment on Amazon CodeDeploy' AWS_CONFIG = File.expand_path('.aws/config', ENV['HOME']) def run if File.readable? AWS_CONFIG content = File.read(AWS_CONFIG) access_key = content[/aws_access_key_id = (\S+)\n/, 1] secret_access_key = content[/aws_secret_access_key = (\S+)\n/, 1] end deploy 'codedeploy' do |config| - config['access_key_id'] = ask("Access key ID: ") { |q| q.default = access_key if access_key }.to_s + config['access_key_id'] = ask('Access key ID: ') { |q| q.default = access_key if access_key }.to_s secret_access_key = nil unless access_key == config['access_key_id'] - config['secret_access_key'] = secret_access_key || ask("Secret access key: ") { |q| q.echo = "*" }.to_s - config['bucket'] = ask("S3 Bucket: ").to_s - config['key'] = ask("S3 Key: ").to_s - config['bundle_type'] = ask("Bundle Type: ") { |q| q.default = config['key'][/\.(zip|tar|tgz)$/, 1] }.to_s - config['application'] = ask("Application Name: ") { |q| q.default = repository.name }.to_s - config['deployment_group'] = ask("Deployment Group Name: ").to_s - encrypt(config, 'secret_access_key') if agree("Encrypt secret access key? ") { |q| q.default = 'yes' } + config['secret_access_key'] = secret_access_key || ask('Secret access key: ') { |q| q.echo = '*' }.to_s + config['bucket'] = ask('S3 Bucket: ').to_s + config['key'] = ask('S3 Key: ').to_s + config['bundle_type'] = ask('Bundle Type: ') do |q| + q.default = config['key'][/\.(zip|tar|tgz)$/, 1] + end.to_s + config['application'] = ask('Application Name: ') { |q| q.default = repository.name }.to_s + config['deployment_group'] = ask('Deployment Group Name: ').to_s + encrypt(config, 'secret_access_key') if agree('Encrypt secret access key? ') { |q| q.default = 'yes' } end - if agree("Also push bundle to S3? ") - cd = travis_config['deploy'] - s3 = { - 'provider' => 's3', - 'access_key_id' => cd['access_key_id'], - 'secret_access_key' => cd['secret_access_key'], - 'local_dir' => 'dpl_cd_upload', - 'skip_cleanup' => true, - 'on' => cd['on'], - 'bucket' => cd['bucket'] - } + return unless agree('Also push bundle to S3? ') - s3['upload_dir'] = File.dirname(cd['key']) if cd['key'].include? '/' - travis_config['deploy'] = [ s3, cd ] - upload_file_name = File.basename(cd['key']) - source_file = ask("Source File: ") { |q| q.default = upload_file_name } - travis_config['before_deploy'] = [ - "mkdir -p dpl_cd_upload", - "mv #{Shellwords.escape(source_file)} dpl_cd_upload/#{Shellwords.escape(upload_file_name)}" - ] - end + cd = travis_config['deploy'] + s3 = { + 'provider' => 's3', + 'access_key_id' => cd['access_key_id'], + 'secret_access_key' => cd['secret_access_key'], + 'local_dir' => 'dpl_cd_upload', + 'skip_cleanup' => true, + 'on' => cd['on'], + 'bucket' => cd['bucket'] + } + + s3['upload_dir'] = File.dirname(cd['key']) if cd['key'].include? '/' + travis_config['deploy'] = [s3, cd] + upload_file_name = File.basename(cd['key']) + source_file = ask('Source File: ') { |q| q.default = upload_file_name } + travis_config['before_deploy'] = [ + 'mkdir -p dpl_cd_upload', + "mv #{Shellwords.escape(source_file)} dpl_cd_upload/#{Shellwords.escape(upload_file_name)}" + ] end end end end end