ecs_helper 0.0.30 → 0.0.34

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
  SHA256:
3
- metadata.gz: 3d7135d95e971a93420416be037655008bcbdb414d1ff278a5d6f054f7cae45e
4
- data.tar.gz: 315b1bc56e9ec94be1d4ab05aa2ae969d3d6a5acacebcd899dad2a4a5664b7d7
3
+ metadata.gz: 6a88fdb1673cb2abe2e271e6004fd278b0c5d92bf630ab70fcf7a94c5e0730ce
4
+ data.tar.gz: '0278428fd13fc8bc2dcca2b054041787f85c06b1adb94523b09db83a8c160bfe'
5
5
  SHA512:
6
- metadata.gz: 607ed56e8ec010436a4b7bacac2a87c1135718e4c77530111056e8d3e6076598074d366924220eab781c30226adfaeda0b2d0073e0e3d89f652e7770dcdebf07
7
- data.tar.gz: e591908c48d43ad96a0045e342a55849f31203dedc6046162b0afef791fd30f9d9934b5afc6dce02d8407d8c07091eb9843d4311d7eeaf3c38c38b1f72ffd76c
6
+ metadata.gz: 52bb0aba871028e742a3ff98323d807f136ce19c2c55d3451ed429b31f32cc64d13b6e88bf4c0b8aa3cbfb61ea41a36b4014ae11a3bbae54ea4af5a223d069a3
7
+ data.tar.gz: be2a51106a033db704cc57f44539670616e55e12ba6a3f1a62ae1220708d296e6c3e671687889a559c75841788cdb543aaaffce07d432524a5e89e6988534846
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ecs_helper (0.0.30)
4
+ ecs_helper (0.0.34)
5
5
  aws-sdk-ecr (~> 1.42, >= 1.42)
6
6
  aws-sdk-ecrpublic (~> 1.3, >= 1.3)
7
7
  aws-sdk-ecs (~> 1.80, >= 1.80)
8
8
  aws-sdk-ssm (~> 1.0.0.rc7)
9
9
  colorize (~> 0.8, >= 0.8)
10
+ json (~> 2.5, >= 2.5)
10
11
  terrapin (~> 0.6, >= 0.6)
11
12
 
12
13
  GEM
@@ -17,8 +18,8 @@ GEM
17
18
  ast (2.4.2)
18
19
  awesome_print (1.9.2)
19
20
  aws-eventstream (1.2.0)
20
- aws-partitions (1.503.0)
21
- aws-sdk-core (3.121.0)
21
+ aws-partitions (1.516.0)
22
+ aws-sdk-core (3.121.1)
22
23
  aws-eventstream (~> 1, >= 1.0.2)
23
24
  aws-partitions (~> 1, >= 1.239.0)
24
25
  aws-sigv4 (~> 1.1)
@@ -29,7 +30,7 @@ GEM
29
30
  aws-sdk-ecrpublic (1.6.0)
30
31
  aws-sdk-core (~> 3, >= 3.120.0)
31
32
  aws-sigv4 (~> 1.1)
32
- aws-sdk-ecs (1.85.0)
33
+ aws-sdk-ecs (1.86.0)
33
34
  aws-sdk-core (~> 3, >= 3.120.0)
34
35
  aws-sigv4 (~> 1.1)
35
36
  aws-sdk-ssm (1.0.0)
@@ -46,6 +47,7 @@ GEM
46
47
  rexml
47
48
  hashdiff (1.0.1)
48
49
  jmespath (1.4.0)
50
+ json (2.6.0)
49
51
  method_source (1.0.0)
50
52
  minitest (5.14.4)
51
53
  minitest-power_assert (0.3.1)
@@ -94,6 +96,7 @@ GEM
94
96
  hashdiff (>= 0.4.0, < 2.0.0)
95
97
 
96
98
  PLATFORMS
99
+ aarch64-linux
97
100
  x86_64-darwin-18
98
101
  x86_64-linux
99
102
 
data/ecs_helper.gemspec CHANGED
@@ -39,5 +39,6 @@ Gem::Specification.new do |s|
39
39
  s.add_runtime_dependency 'aws-sdk-ecs', '~> 1.80', '>= 1.80'
40
40
  s.add_runtime_dependency 'aws-sdk-ssm', '~> 1.0.0.rc7'
41
41
  s.add_runtime_dependency 'colorize', '~> 0.8', '>= 0.8'
42
+ s.add_runtime_dependency 'json', '~> 2.5', '>= 2.5'
42
43
  s.add_runtime_dependency 'terrapin', '~> 0.6', '>= 0.6'
43
44
  end
@@ -70,10 +70,10 @@ class ECSHelper::Command::Deploy < ECSHelper::Command::Base
70
70
  end
71
71
 
72
72
  def timeout
73
- options[:timeout] || DEFAULT_TIMEOUT
73
+ (options[:timeout] || DEFAULT_TIMEOUT).to_i
74
74
  end
75
75
 
76
76
  def service
77
77
  helper.client.describe_service(cluster_arn, service_arn)
78
78
  end
79
- end
79
+ end
@@ -45,37 +45,20 @@ class ECSHelper::Command::Exec < ECSHelper::Command::Base
45
45
  def check_aws_cli
46
46
  check_bin('aws')
47
47
  check_aws_cli_version
48
- "success"
49
48
  end
50
49
 
51
-
52
- def check_aws_cli_version
53
- check_cmd = Terrapin::CommandLine.new("aws --version")
54
- result = check_cmd.run
55
- version = parse_version(result)
56
- if version === "1"
57
- messages = [
58
- "Exec command requires aws cli v2".light_white,
59
- cmd_option_parser[0].help
60
- ]
61
- raise ECSHelper::Error::CommandValidationError.new(messages)
62
- end
50
+ def printable?
51
+ true
63
52
  end
64
53
 
65
54
  def run
66
- log("Command", type)
67
- log("Cluster", cluster_arn)
68
- log("Service", service_arn)
69
- log("Task", task_arn)
70
- log("Options", options)
71
- log("Check session-manager-plugin ", check_session_manager_plugin)
72
- log("Check aws cli version", check_aws_cli)
73
- exec
55
+ check_session_manager_plugin
56
+ check_aws_cli
57
+ exec_command
74
58
  end
75
59
 
76
- def exec
77
- exec_cmd = Terrapin::CommandLine.new("aws ecs execute-command --cluster #{cluster_arn} --task #{task_arn} --container #{helper.options[:container]} --command #{helper.options[:command]} --interactive")
78
- exec_cmd.run
60
+ def exec_command
61
+ "aws ecs execute-command --cluster #{cluster_arn} --task #{task_arn} --container #{helper.options[:container]} --command #{helper.options[:command]} --interactive"
79
62
  end
80
63
 
81
64
  private
@@ -124,7 +124,7 @@ class ECSHelper::Command::RunCommand < ECSHelper::Command::Base
124
124
  end
125
125
 
126
126
  def timeout
127
- options[:timeout] || DEFAULT_TIMEOUT
127
+ (options[:timeout] || DEFAULT_TIMEOUT).to_i
128
128
  end
129
129
 
130
130
  def service
@@ -142,4 +142,4 @@ class ECSHelper::Command::RunCommand < ECSHelper::Command::Base
142
142
  def container_name
143
143
  options[:container_name]
144
144
  end
145
- end
145
+ end
@@ -8,6 +8,7 @@ BRANCH_TO_ENV_MAPPING = {
8
8
 
9
9
  class ECSHelper::CommonHelper
10
10
  attr_accessor :helper, :branch, :version, :env
11
+
11
12
  def initialize(helper)
12
13
  @helper = helper
13
14
  end
@@ -17,11 +18,18 @@ class ECSHelper::CommonHelper
17
18
  end
18
19
 
19
20
  def version
20
- @version ||= ENV["CI_COMMIT_SHA"] || `git rev-parse HEAD`.strip
21
+ @version ||=
22
+ begin
23
+ if deployable_branch? && use_image_tag_env_prefix?
24
+ "#{environment}-#{commit_sha}"
25
+ else
26
+ commit_sha
27
+ end
28
+ end
21
29
  end
22
30
 
23
31
  def environment
24
- @env ||= helper.options[:environment] || ENV["ENVIRONMENT"] || BRANCH_TO_ENV_MAPPING[branch.to_sym] || raise(StandardError.new("Environment not detected"))
32
+ @env ||= helper.options[:environment] || ENV["ENVIRONMENT"] || env_from_branch || raise(StandardError.new("Environment not detected"))
25
33
  end
26
34
 
27
35
  def project
@@ -31,4 +39,23 @@ class ECSHelper::CommonHelper
31
39
  def application
32
40
  ENV["APPLICATION"]
33
41
  end
34
- end
42
+
43
+ private
44
+
45
+ def env_from_branch
46
+ BRANCH_TO_ENV_MAPPING[branch.to_sym]
47
+ end
48
+
49
+ def deployable_branch?
50
+ !env_from_branch.nil?
51
+ end
52
+
53
+ def commit_sha
54
+ ENV["CI_COMMIT_SHA"] || `git rev-parse HEAD`.strip
55
+ end
56
+
57
+ def use_image_tag_env_prefix?
58
+ !ENV['USE_IMAGE_TAG_ENV_PREFIX'].nil?
59
+ end
60
+
61
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ECSHelper
4
- VERSION = '0.0.30'
4
+ VERSION = '0.0.34'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecs_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.30
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Petrov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
11
+ date: 2021-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -196,60 +196,60 @@ dependencies:
196
196
  name: aws-sdk-ecr
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ">="
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
201
  version: '1.42'
202
- - - "~>"
202
+ - - ">="
203
203
  - !ruby/object:Gem::Version
204
204
  version: '1.42'
205
205
  type: :runtime
206
206
  prerelease: false
207
207
  version_requirements: !ruby/object:Gem::Requirement
208
208
  requirements:
209
- - - ">="
209
+ - - "~>"
210
210
  - !ruby/object:Gem::Version
211
211
  version: '1.42'
212
- - - "~>"
212
+ - - ">="
213
213
  - !ruby/object:Gem::Version
214
214
  version: '1.42'
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: aws-sdk-ecrpublic
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ">="
219
+ - - "~>"
220
220
  - !ruby/object:Gem::Version
221
221
  version: '1.3'
222
- - - "~>"
222
+ - - ">="
223
223
  - !ruby/object:Gem::Version
224
224
  version: '1.3'
225
225
  type: :runtime
226
226
  prerelease: false
227
227
  version_requirements: !ruby/object:Gem::Requirement
228
228
  requirements:
229
- - - ">="
229
+ - - "~>"
230
230
  - !ruby/object:Gem::Version
231
231
  version: '1.3'
232
- - - "~>"
232
+ - - ">="
233
233
  - !ruby/object:Gem::Version
234
234
  version: '1.3'
235
235
  - !ruby/object:Gem::Dependency
236
236
  name: aws-sdk-ecs
237
237
  requirement: !ruby/object:Gem::Requirement
238
238
  requirements:
239
- - - ">="
239
+ - - "~>"
240
240
  - !ruby/object:Gem::Version
241
241
  version: '1.80'
242
- - - "~>"
242
+ - - ">="
243
243
  - !ruby/object:Gem::Version
244
244
  version: '1.80'
245
245
  type: :runtime
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - ">="
249
+ - - "~>"
250
250
  - !ruby/object:Gem::Version
251
251
  version: '1.80'
252
- - - "~>"
252
+ - - ">="
253
253
  - !ruby/object:Gem::Version
254
254
  version: '1.80'
255
255
  - !ruby/object:Gem::Dependency
@@ -270,40 +270,60 @@ dependencies:
270
270
  name: colorize
271
271
  requirement: !ruby/object:Gem::Requirement
272
272
  requirements:
273
- - - ">="
273
+ - - "~>"
274
274
  - !ruby/object:Gem::Version
275
275
  version: '0.8'
276
- - - "~>"
276
+ - - ">="
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0.8'
279
279
  type: :runtime
280
280
  prerelease: false
281
281
  version_requirements: !ruby/object:Gem::Requirement
282
282
  requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.8'
283
286
  - - ">="
284
287
  - !ruby/object:Gem::Version
285
288
  version: '0.8'
289
+ - !ruby/object:Gem::Dependency
290
+ name: json
291
+ requirement: !ruby/object:Gem::Requirement
292
+ requirements:
286
293
  - - "~>"
287
294
  - !ruby/object:Gem::Version
288
- version: '0.8'
295
+ version: '2.5'
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '2.5'
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: '2.5'
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '2.5'
289
309
  - !ruby/object:Gem::Dependency
290
310
  name: terrapin
291
311
  requirement: !ruby/object:Gem::Requirement
292
312
  requirements:
293
- - - ">="
313
+ - - "~>"
294
314
  - !ruby/object:Gem::Version
295
315
  version: '0.6'
296
- - - "~>"
316
+ - - ">="
297
317
  - !ruby/object:Gem::Version
298
318
  version: '0.6'
299
319
  type: :runtime
300
320
  prerelease: false
301
321
  version_requirements: !ruby/object:Gem::Requirement
302
322
  requirements:
303
- - - ">="
323
+ - - "~>"
304
324
  - !ruby/object:Gem::Version
305
325
  version: '0.6'
306
- - - "~>"
326
+ - - ">="
307
327
  - !ruby/object:Gem::Version
308
328
  version: '0.6'
309
329
  description: A simple gem which make CI CD process easier for AWS ECS service
@@ -350,7 +370,7 @@ homepage: https://github.com/artempartos/ecs_helper
350
370
  licenses:
351
371
  - MIT
352
372
  metadata: {}
353
- post_install_message:
373
+ post_install_message:
354
374
  rdoc_options: []
355
375
  require_paths:
356
376
  - lib
@@ -365,8 +385,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
385
  - !ruby/object:Gem::Version
366
386
  version: '0'
367
387
  requirements: []
368
- rubygems_version: 3.0.3
369
- signing_key:
388
+ rubyforge_project:
389
+ rubygems_version: 2.7.6
390
+ signing_key:
370
391
  specification_version: 4
371
392
  summary: ECSHelper
372
393
  test_files: []