prima-twig 0.4.5 → 0.4.6

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twig-feature +68 -3
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a32d18fcef8d136da5db4abe503ac2d69244dfe2
4
- data.tar.gz: 0b31818942b8e19c0685abcf8c5eb0839b7e4e4d
3
+ metadata.gz: ff03277aa3210b252b30026ad4399ff1d504840d
4
+ data.tar.gz: 609c5a2cbb73f58953c8c41538de2b8906f984e4
5
5
  SHA512:
6
- metadata.gz: 766c0b9fe36c04b6b9114e4f835daa415c375bee59bae7dac7be9472ea8c59568d936ce898dd7f0b47c40d29e9deed4c7f380184e91e2539483b92988d39e771
7
- data.tar.gz: 4580fbe446b5ea2b1d14cd712c624e7b367c513bf62e9fa4b681bb35e4432c638321a903279fb80105218d4f81974a93b4eedf0e8a084f82c5fe3c5ea074a34a
6
+ metadata.gz: cf1a650ea4168188083758d8d9192846aa0d236e98882541ba8353d9a410c43bd47c8f80e4d4c31de3718558b7fe269662c2810856dfd4ce6e4034a9cd60fa1a
7
+ data.tar.gz: 425bc96763294ad490a396e6ba40b322e5ba2ddd05e053eb950c348eb52b485ace5ebce878df5c45fa1de09a656eb1d3e1edd169439040074a0990e6976a986d
data/bin/twig-feature CHANGED
@@ -89,7 +89,7 @@ class Release
89
89
  menu.shell = true
90
90
 
91
91
  envs.each do |key, env|
92
- title = @prima.reduce_size("#{env[0].key}: #{env[0].value} #{env[1].key}: #{env[1].value} #{env[2].key}: #{env[2].value}", 100)
92
+ title = @prima.reduce_size("#{env[0].key}: #{env[0].value} #{env[1].key}: #{env[1].value} #{env[2].key}: #{env[2].value} #{env[3].key}: #{env[3].value}", 100)
93
93
  msg = "#{title}".light_blue
94
94
  menu.choice(msg) { key }
95
95
  end
@@ -123,10 +123,11 @@ class Release
123
123
  prima_branch = choose_branch_to_deploy('prima')
124
124
  backoffice_branch = choose_branch_to_deploy('backoffice')
125
125
  urania_branch = choose_branch_to_deploy('urania')
126
+ ermes_branch = choose_branch_to_deploy('ermes')
126
127
  socket_branch = {name: "master"}
127
128
  pamela_branch = {name: "master"}
128
129
 
129
- @dns_record_identifier = "#{@prima.clean_branch_name(prima_branch[:name])}-#{@prima.clean_branch_name(backoffice_branch[:name])}-#{@prima.clean_branch_name(urania_branch[:name])}".gsub(/feature./, '')[0..35].gsub(/(-+$)/, '')
130
+ @dns_record_identifier = "#{@prima.clean_branch_name(prima_branch[:name])}-#{@prima.clean_branch_name(backoffice_branch[:name])}-#{@prima.clean_branch_name(urania_branch[:name])}-#{@prima.clean_branch_name(ermes_branch[:name])}".gsub(/feature./, '')[0..35].gsub(/(-+$)/, '')
130
131
 
131
132
  tags = [
132
133
  {
@@ -140,10 +141,14 @@ class Release
140
141
  {
141
142
  key: "backoffice",
142
143
  value: backoffice_branch[:name]
144
+ },
145
+ {
146
+ key: "ermes",
147
+ value: ermes_branch[:name]
143
148
  }
144
149
  ]
145
150
 
146
- deploy_id = Digest::MD5.hexdigest(prima_branch[:name] + backoffice_branch[:name] + urania_branch[:name] + socket_branch[:name] + pamela_branch[:name])
151
+ deploy_id = Digest::MD5.hexdigest(prima_branch[:name] + backoffice_branch[:name] + urania_branch[:name] + socket_branch[:name] + pamela_branch[:name] + ermes_branch[:name])
147
152
 
148
153
  cluster_stack_name = "ecs-cluster-qa-#{deploy_id}"
149
154
  create_cluster_stack(cluster_stack_name, tags) unless stack_exists?(cluster_stack_name)
@@ -171,6 +176,7 @@ class Release
171
176
 
172
177
  create_prima_artifact(prima_branch[:revision], prima_branch[:name]) unless artifact_exists?('prima-artifacts', "prima/#{prima_branch[:revision]}")
173
178
  create_urania_artifact(urania_branch[:revision]) unless artifact_exists?('prima-artifacts', "microservices/urania/#{urania_branch[:revision]}-qa.tar.gz")
179
+ create_ermes_artifact(ermes_branch[:revision]) unless artifact_exists?('prima-artifacts', "microservices/ermes/ermes_#{ermes_branch[:revision]}.tar.gz")
174
180
  create_backoffice_artifact(backoffice_branch[:revision], deploy_id) unless artifact_exists?('prima-artifacts', "backoffice/#{backoffice_branch[:revision]}-#{deploy_id}.zip")
175
181
 
176
182
  wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db)
@@ -254,6 +260,29 @@ class Release
254
260
  create_stack(stack_name_urania, stack_body, parameters, tags)
255
261
  end
256
262
 
263
+ stack_name_ermes = "ecs-task-ermes-qa-#{deploy_id}"
264
+ git_checkout_version('ermes', ermes_branch[:revision])
265
+ stack_body = IO.read('projects/ermes/deploy/task.json')
266
+ parameters = [
267
+ {
268
+ parameter_key: "Environment",
269
+ parameter_value: "qa"
270
+ },
271
+ {
272
+ parameter_key: "ReleaseVersion",
273
+ parameter_value: ermes_branch[:revision]
274
+ },
275
+ {
276
+ parameter_key: "ECSClusterName",
277
+ parameter_value: @ecs_cluster_name
278
+ }
279
+ ]
280
+ if stack_exists?(stack_name_ermes)
281
+ update_stack(stack_name_ermes, stack_body, parameters) if @ermes_built
282
+ else
283
+ create_stack(stack_name_ermes, stack_body, parameters, tags)
284
+ end
285
+
257
286
  git_checkout_version('backoffice', backoffice_branch[:revision])
258
287
  stack_name_backoffice = "ecs-task-backoffice-qa-#{deploy_id}"
259
288
  stack_body = IO.read('projects/backoffice/deploy/task.json')
@@ -285,11 +314,13 @@ class Release
285
314
  wait_for_stack_ready(stack_name_consumer) unless stack_ready?(stack_name_consumer)
286
315
  wait_for_stack_ready(stack_name_urania) unless stack_ready?(stack_name_urania)
287
316
  wait_for_stack_ready(stack_name_backoffice) unless stack_ready?(stack_name_backoffice)
317
+ wait_for_stack_ready(stack_name_ermes) unless stack_ready?(stack_name_ermes)
288
318
 
289
319
  update_service_defaults(stack_name_web)
290
320
  update_service_defaults(stack_name_consumer)
291
321
  update_service_defaults(stack_name_urania)
292
322
  update_service_defaults(stack_name_backoffice)
323
+ update_service_defaults(stack_name_ermes)
293
324
 
294
325
  stack_name_route53 = "ecs-route53-qa-#{deploy_id}"
295
326
  stack_body = IO.read('cloudformation/stacks/route53/qa.json')
@@ -382,6 +413,8 @@ class Release
382
413
  logical_resource_id = 'ECSServiceUrania'
383
414
  when stack_name.include?('backoffice')
384
415
  logical_resource_id = 'ECSServiceBackoffice'
416
+ when stack_name.include?('ermes')
417
+ logical_resource_id = 'ECSServiceErmes'
385
418
  else
386
419
  raise "Service name non gestito per lo stack #{stack_name}"
387
420
  end
@@ -431,6 +464,38 @@ class Release
431
464
  Dir.chdir '../../'
432
465
  end
433
466
 
467
+ def create_ermes_artifact(revision)
468
+ @ermes_built = true
469
+ output "Preparo l'artifact .zip\n".yellow
470
+
471
+ git_checkout_version('ermes', revision)
472
+
473
+ Dir.chdir 'projects/ermes'
474
+
475
+ [
476
+ "docker run -v $PWD:/code -w /code -e MIX_ENV=qa prima/ermes:0.0.4 \
477
+ 'mix local.hex --force && mix hex.info && \
478
+ mix deps.get && mix compile && mix deps.compile && \
479
+ mix release.clean --implode --no-confirm && mix release'",
480
+ "sudo chown -R `whoami` ."
481
+ ].each do |cmd|
482
+ output "Eseguo #{cmd}".yellow
483
+ res = %x[ #{cmd} ]
484
+ if $?.exitstatus != 0
485
+ color = 'red'
486
+ else
487
+ color = 'green'
488
+ end
489
+ output res.send color
490
+ stop_if (color == 'red'), "Errore durante la build dell'artifact".red
491
+ end
492
+
493
+ artifact_path = Dir.glob("rel/ermes/releases/*/ermes.tar.gz").first
494
+ upload_artifact(artifact_path, "microservices/ermes/ermes_#{revision}.tar.gz")
495
+
496
+ Dir.chdir '../../'
497
+ end
498
+
434
499
  def create_backoffice_artifact(revision, deploy_id)
435
500
  @backoffice_built = true
436
501
  output "Preparo l'artifact .zip\n".yellow
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prima-twig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-05-16 00:00:00.000000000 Z
14
+ date: 2016-06-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: twig