Class: Jets::Cfn::Deployment
- Inherits:
-
Object
- Object
- Jets::Cfn::Deployment
- Extended by:
- Memoist
- Defined in:
- lib/jets/cfn/deployment.rb
Instance Method Summary collapse
- #create ⇒ Object
-
#initialize(options = {}) ⇒ Deployment
constructor
A new instance of Deployment.
- #message ⇒ Object
- #record_deployment(stack) ⇒ Object
Methods included from Jets::Command::ApiHelpers
#check_for_error_message!, #no_token_exit!, #paging_params
Methods included from Jets::Command::AwsHelpers
Methods included from AwsServices
#apigateway, #aws_lambda, #aws_options, #cfn, #dynamodb, #logs, #s3, #s3_resource, #sns, #sqs, #sts
Methods included from AwsServices::StackStatus
#lookup, #stack_exists?, #stack_in_progress?
Methods included from AwsServices::GlobalMemoist
Constructor Details
#initialize(options = {}) ⇒ Deployment
Returns a new instance of Deployment.
8 9 10 11 12 |
# File 'lib/jets/cfn/deployment.rb', line 8 def initialize(={}) @options = @stack_name = [:stack_name] # stack name or stack id (deleted) @rollback_version = [:rollback_version] end |
Instance Method Details
#create ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/jets/cfn/deployment.rb', line 14 def create Jets.boot # needed since Jets is lazy loaded return if Jets.config.pro.disable return unless Jets::Api.token stack = find_stack(@stack_name) return unless stack record_deployment(stack) end |
#message ⇒ Object
39 40 41 42 43 |
# File 'lib/jets/cfn/deployment.rb', line 39 def return @options[:message][0..255] if @options[:message] # else default message @rollback_version ? "Rollback to #{@rollback_version}" : "Deploy" end |
#record_deployment(stack) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/jets/cfn/deployment.rb', line 24 def record_deployment(stack) deploy_user = ENV['JETS_DEPLOY_USER'] || ENV['USER'] resp = Jets::Api::Release.create( stack_arn: stack.stack_id, stack_status: stack.stack_status, message: , deploy_user: deploy_user, ) (resp) puts "Release version: #{resp["version"]}" if resp["version"] resp rescue Jets::Api::RequestError => e puts "WARNING: Unable to create release. #{e.class}: #{e.}" end |