prima-twig 0.4.5 → 0.4.6

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