shiprails 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56ad943e3c31dce558f301d17f74d3fe9ee8fd66
4
- data.tar.gz: 78cb95e986707c421b314be374cddd56c36d9d4e
3
+ metadata.gz: 3a24cbe59501f02ce1177daad4400093997b3acd
4
+ data.tar.gz: 23ff9d829b9205196b746ff89e10d7d0bb3bacac
5
5
  SHA512:
6
- metadata.gz: 443405a53e8790d41e9df6c24bc08d8ff7d39b16b10804723af482271a7a4d7853c41924674d7056a8709ffe7e28cb74244a2fa8063355b85bb8582a3ab2c324
7
- data.tar.gz: 7402c82fcb9ace723ef6fa623b7e9faf9087d008de371e1c58dc03e3e9c79bd28c2724c47c2fca1c18159c5673c8a49a3017a5d4bd2922a19503cf8737019085
6
+ metadata.gz: f5608078535b5c5af45622e052690b73fe25b6aab9fe518060e499b1d5a57f2c7c911704c672c9025b80b39763cf9eba0e851f9e7896f2802d0b08cc380dc9be
7
+ data.tar.gz: 137894c44aa41c42063f1e1d0dd7354021ad79eb6d4255fe9c7439f60f051361da6e644fe7603a935a4a6610d1c4b625c9ff9ea604fe0a4e5bf46550471d2ba4
@@ -108,6 +108,7 @@ module Shiprails
108
108
 
109
109
  def update_ecs_tasks
110
110
  perform_callbacks :before_update_ecs_tasks
111
+ task_arn = nil
111
112
  say "Updating ECS tasks..."
112
113
  configuration[:services].each do |service_name, service|
113
114
  image_name = "#{project_name}_#{service_name}"
@@ -146,12 +147,15 @@ module Shiprails
146
147
  say "Updated #{service_name} container (#{image_name})."
147
148
  end
148
149
  task_definition_response = ecs.register_task_definition(task_definition)
150
+ if service_name == :app
151
+ task_arn = task_definition_response.task_definition.task_definition_arn
152
+ end
149
153
  say "Updated #{task_name}.", :green
150
154
  end
151
155
  end
152
156
  end
153
157
  say "ECS tasks updated.", :green
154
- perform_callbacks :after_update_ecs_tasks
158
+ perform_callbacks :after_update_ecs_tasks, task_arn
155
159
  end
156
160
 
157
161
  def update_ecs_services
@@ -237,11 +241,13 @@ module Shiprails
237
241
  configuration[:config_s3_bucket]
238
242
  end
239
243
 
240
- def perform_callbacks(stage_name)
244
+ def perform_callbacks(stage_name, task_arn=nil)
241
245
  @_callbacks ||= configuration[:callbacks] || {}
242
246
  if @_callbacks.key?(stage_name)
243
- command = @_callbacks[stage_name]
244
- wrapped_command = "ship exec -e #{environment} #{command}"
247
+ command = ["ship exec -e #{environment}"]
248
+ command << "--task-arn #{task_arn}" unless task_arn.nil?
249
+ command << @_callbacks[stage_name]
250
+ wrapped_command = command.join ' '
245
251
  say "#{stage_name.to_s}: #{wrapped_command}"
246
252
  result = run(wrapped_command)
247
253
  exit(1) unless result
@@ -24,6 +24,8 @@ module Shiprails
24
24
  class_option "private-key",
25
25
  aliases: ["-pk"],
26
26
  desc: "Specify the AWS SSH private key path"
27
+ class_option "task-arn",
28
+ desc: "Specify the ECS task ARN"
27
29
 
28
30
  def run_command
29
31
  cluster_name = "#{project_name}_#{environment}"
@@ -92,7 +94,13 @@ module Shiprails
92
94
  task_definition_arn = task_descriptions.tasks.first.task_definition_arn
93
95
  task_definition_name = task_definition_arn.split('/').last
94
96
  container_instance_arn = task_descriptions.tasks.first.container_instance_arn
95
- task_definition_description = ecs.describe_task_definition({task_definition: task_definition_name})
97
+
98
+ task_arn = options['task-arn']
99
+ if task_arn.nil?
100
+ task_definition_description = ecs.describe_task_definition({task_definition: task_definition_name})
101
+ else
102
+ task_definition_description = ecs.describe_task_definition({task_definition: task_arn})
103
+ end
96
104
 
97
105
  say "Setting up EC2 instance for SSH..."
98
106
  # with the instance ARN let's grab the intance id
@@ -1,3 +1,3 @@
1
1
  module Shiprails
2
- VERSION = "0.1.16"
2
+ VERSION = "0.1.18"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shiprails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zane Shannon