shiprails 0.1.16 → 0.1.18

Sign up to get free protection for your applications and to get access to all the features.
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