prima-twig 0.46.10 → 0.47.1

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 +107 -107
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c47c1729b384769a2f1626642df8ca2ec7918dce3af036bd8b8b40b2de5a5fd1
4
- data.tar.gz: 6c3d76f1d5cad2ac0fe5bee290adbe4893530042e3675e39ebdee602e8843867
3
+ metadata.gz: 7afacba1326cfaed8ba53958e1b8767510b85383128a968351e9d14be56f73ae
4
+ data.tar.gz: 0171f3e4807a8c4a06cd221d9cc4f612fdafa18cdeb6fc6034676fb13066c116
5
5
  SHA512:
6
- metadata.gz: f12e6e9f6614545eedf5603aebde0663ed3b3403faab75d4dd940b79501ffabd42815c378511f1650de167db8d70258772ae0a80ce76e904e9171e72c6f1d03e
7
- data.tar.gz: 9bf65f67e801790d2de91c175ebdda978e4417e4219b5754f1d1e432e8a910c523ae69c4d286e4a2491e07120e8a6c4d4296fec175b83e056aa2c0e0786a8899
6
+ metadata.gz: 1b084db7890823f9b9089c83548b652f1a234257ab652cbc35f41291c324a58e17c07fb5994b6071fb5e7c8853925a4a3e060e48d7c298d0c4d74da8739008bb
7
+ data.tar.gz: b3bcfcb88e6f1e9b26560fc697d83b8f92ae3af646b86e9ea2f24bb8be2a5201a37c9eef4d9b1b868318257fda25be9cab6f65edbbab26962902621c51adedb6
data/bin/twig-feature CHANGED
@@ -51,7 +51,8 @@ class Release
51
51
  'crash' => {},
52
52
  'activia' => {},
53
53
  'skynet' => {},
54
- 'roger' => {}
54
+ 'roger' => {},
55
+ 'leftorium' => {}
55
56
  }
56
57
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
57
58
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -853,64 +854,18 @@ class Release
853
854
  key: "qainit",
854
855
  value: @git_branch
855
856
  },
856
- {
857
- key: "prima",
858
- value: @projects["prima"][:name]
859
- },
860
- {
861
- key: "urania",
862
- value: @projects["urania"][:name]
863
- },
864
- {
865
- key: "ermes",
866
- value: @projects["ermes"][:name]
867
- },
868
- {
869
- key: "bburago",
870
- value: @projects["bburago"][:name]
871
- },
872
- {
873
- key: "hal9000",
874
- value: @projects["hal9000"][:name]
875
- },
876
- {
877
- key: "fidaty",
878
- value: @projects["fidaty"][:name]
879
- },
880
857
  {
881
858
  key: "hostname_pattern_priority",
882
859
  value: hostname_pattern_priority
883
- },
884
- {
885
- key: "peano",
886
- value: @projects["peano"][:name]
887
- },
888
- {
889
- key: "rogoreport",
890
- value: @projects["rogoreport"][:name]
891
- },
892
- {
893
- key: "assange",
894
- value: @projects["assange"][:name]
895
- },
896
- {
897
- key: "borat",
898
- value: @projects["borat"][:name]
899
- },
900
- {
901
- key: "activia",
902
- value: @projects["activia"][:name]
903
- },
904
- {
905
- key: "skynet",
906
- value: @projects["skynet"][:name]
907
- },
908
- {
909
- key: "roger",
910
- value: @projects["roger"][:name]
911
860
  }
912
861
  ]
913
- tags << { key: 'crash', value: @projects['crash'][:name] } if deploy_crash?
862
+ @projects.each do |key, value|
863
+ if key.to_s == 'crash'
864
+ tags << { key: 'crash', value: @projects['crash'][:name] } if deploy_crash?
865
+ else
866
+ tags << { key: key, value: value[:name] }
867
+ end
868
+ end
914
869
 
915
870
  cluster_stack_name = "ecs-cluster-qa-#{deploy_id}"
916
871
 
@@ -965,6 +920,7 @@ class Release
965
920
  create_assange_artifact(@projects["assange"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/assange/#{@projects["assange"][:revision]}-qa.tar.gz")
966
921
  create_borat_artifact(@projects["borat"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/borat/#{@projects["borat"][:revision]}-qa.tar.gz")
967
922
  create_activia_artifact(@projects["activia"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/activia/#{@projects["activia"][:revision]}-qa.tar.gz")
923
+ create_leftorium_artifact(@projects["leftorium"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/leftorium/#{@projects["leftorium"][:revision]}-qa.tar.gz")
968
924
  create_skynet_artifact(@projects["skynet"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/skynet/#{@projects["skynet"][:revision]}-qa.tar.gz")
969
925
 
970
926
  wait_for_db_import(db_task) unless stack_exists?("ecs-route53-qa-#{deploy_id}") # dovrebbe essere istantaneo
@@ -1021,6 +977,10 @@ class Release
1021
977
  parameter_key: "RogerIp",
1022
978
  parameter_value: ec2_ip_address(asg_stack_name)
1023
979
  },
980
+ {
981
+ parameter_key: "LeftoriumIp",
982
+ parameter_value: ec2_ip_address(asg_stack_name)
983
+ },
1024
984
  {
1025
985
  parameter_key: "RedisIp",
1026
986
  parameter_value: ec2_ip_address(asg_stack_name)
@@ -1394,6 +1354,42 @@ class Release
1394
1354
  create_stack(stack_name_assange, stack_body, parameters, tags, @cf_role)
1395
1355
  end
1396
1356
 
1357
+ stack_name_leftorium = "ecs-task-leftorium-qa-#{deploy_id}"
1358
+ git_checkout_version('leftorium', @projects["leftorium"][:revision])
1359
+ stack_body = File.read('projects/leftorium/deploy/task.yml')
1360
+ parameters = [
1361
+ {
1362
+ parameter_key: "Environment",
1363
+ parameter_value: "qa"
1364
+ },
1365
+ {
1366
+ parameter_key: "ReleaseVersion",
1367
+ parameter_value: "#{@projects["leftorium"][:revision]}"
1368
+ },
1369
+ {
1370
+ parameter_key: "ECSClusterName",
1371
+ parameter_value: @ecs_cluster_name
1372
+ },
1373
+ {
1374
+ parameter_key: "TaskDesiredCount",
1375
+ parameter_value: "1"
1376
+ },
1377
+ {
1378
+ parameter_key: "HostnamePattern",
1379
+ parameter_value: "leftorium-#{@dns_record_identifier}.qa.colaster.com"
1380
+ },
1381
+ {
1382
+ parameter_key: "HostnamePatternPriority",
1383
+ parameter_value: hostname_pattern_priority
1384
+ }
1385
+ ]
1386
+ if stack_exists?(stack_name_leftorium)
1387
+ cur_version = get_currently_deployed_version(stack_name_leftorium)
1388
+ update_stack(stack_name_leftorium, stack_body, parameters, tags, @cf_role) unless cur_version.include?(@projects["leftorium"][:revision])
1389
+ else
1390
+ create_stack(stack_name_leftorium, stack_body, parameters, tags, @cf_role)
1391
+ end
1392
+
1397
1393
  stack_name_borat = "ecs-task-borat-qa-#{deploy_id}"
1398
1394
  git_checkout_version('borat', @projects["borat"][:revision])
1399
1395
  stack_body = IO.read('projects/borat/deploy/task.yml')
@@ -1563,6 +1559,7 @@ class Release
1563
1559
  wait_for_stack_ready(stack_name_hal9000) unless stack_ready?(stack_name_hal9000)
1564
1560
  wait_for_stack_ready(stack_name_assange) unless stack_ready?(stack_name_assange)
1565
1561
  wait_for_stack_ready(stack_name_fidaty) unless stack_ready?(stack_name_fidaty)
1562
+ wait_for_stack_ready(stack_name_leftorium) unless stack_ready?(stack_name_leftorium)
1566
1563
 
1567
1564
  stack_name_web = "ecs-task-web-qa-#{deploy_id}"
1568
1565
  git_checkout_version('prima', @projects["prima"][:revision])
@@ -1712,8 +1709,7 @@ class Release
1712
1709
  wait_for_stack_ready(stack_name_rogoreport) unless stack_ready?(stack_name_rogoreport)
1713
1710
  wait_for_stack_ready(stack_name_borat) unless stack_ready?(stack_name_borat)
1714
1711
  wait_for_stack_ready(stack_name_activia) unless stack_ready?(stack_name_activia)
1715
- wait_for_stack_ready(stack_name_crash) unless stack_ready?(stack_name_crash) || !deploy_crash?
1716
- #wait_for_stack_ready(stack_name_roger) unless stack_ready?(stack_name_roger)
1712
+ wait_for_stack_ready(stack_name_crash) unless stack_ready?(stack_name_crash) unless !deploy_crash?
1717
1713
 
1718
1714
  update_service_defaults(stack_name_web)
1719
1715
  update_service_defaults(stack_name_consumer)
@@ -1728,6 +1724,7 @@ class Release
1728
1724
  update_service_defaults(stack_name_borat)
1729
1725
  update_service_defaults(stack_name_activia)
1730
1726
  update_service_defaults(stack_name_skynet)
1727
+ update_service_defaults(stack_name_leftorium)
1731
1728
  update_service_defaults(stack_name_crash) unless !deploy_crash?
1732
1729
 
1733
1730
  activia_hostname = get_route53_hostname(stack_name_activia)
@@ -1742,12 +1739,11 @@ class Release
1742
1739
  skynet_hostname = get_route53_hostname(stack_name_skynet)
1743
1740
  urania_hostname = get_route53_hostname(stack_name_urania)
1744
1741
  roger_hostname = get_route53_hostname(stack_name_roger)
1745
- deploy_crash? && crash_hostname = get_route53_hostname(stack_name_crash)
1742
+ leftorium_hostname = get_route53_hostname(stack_name_leftorium)
1743
+ crash_hostname = get_route53_hostname(stack_name_crash) unless !deploy_crash?
1746
1744
 
1747
1745
  # launch_marley ec2_ip_address(asg_stack_name), prima_hostname, borat_hostname
1748
1746
 
1749
- # > Bolla url: http://#{ec2_ip_address(asg_stack_name)}:10046
1750
-
1751
1747
  projects_text = "
1752
1748
  > Prima url: https://#{prima_hostname}
1753
1749
  > Backoffice (Borat) url: https://#{borat_hostname}
@@ -1760,7 +1756,8 @@ class Release
1760
1756
  > Assange url: https://#{assange_hostname}
1761
1757
  > Activia url: http://#{activia_hostname}:10041
1762
1758
  > Skynet url: http://#{skynet_hostname}:8050
1763
- > Roger url: http://#{roger_hostname}:10051"
1759
+ > Roger url: http://#{roger_hostname}:10051
1760
+ > Leftorium url: http://#{leftorium_hostname}:10061"
1764
1761
  projects_text.concat "
1765
1762
  > Crash url: https://#{crash_hostname}" if deploy_crash?
1766
1763
  projects_text.concat "
@@ -1804,6 +1801,8 @@ class Release
1804
1801
  host = "skynet-#{@dns_record_identifier}.qa.colaster.com"
1805
1802
  when stack_name.include?('roger')
1806
1803
  host = "roger-#{@dns_record_identifier}.qa.colaster.com"
1804
+ when stack_name.include?('leftorium')
1805
+ host = "leftorium-#{@dns_record_identifier}.qa.colaster.com"
1807
1806
  end
1808
1807
  host
1809
1808
  end
@@ -1848,6 +1847,8 @@ class Release
1848
1847
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1849
1848
  when stack_name.include?('peano')
1850
1849
  logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1850
+ when stack_name.include?('leftorium')
1851
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1851
1852
  when stack_name.include?('assange')
1852
1853
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1853
1854
  when stack_name.include?('borat')
@@ -1897,6 +1898,8 @@ class Release
1897
1898
  logical_resource_id = 'ECSServiceAssange'
1898
1899
  when stack_name.include?('borat')
1899
1900
  logical_resource_id = 'ECSServiceBorat'
1901
+ when stack_name.include?('leftorium')
1902
+ logical_resource_id = 'ECSServiceLeftorium'
1900
1903
  when stack_name.include?('crash')
1901
1904
  logical_resource_id = 'ECSServiceCrash'
1902
1905
  else
@@ -2124,6 +2127,49 @@ class Release
2124
2127
  Dir.chdir '../../'
2125
2128
  end
2126
2129
 
2130
+ def create_leftorium_artifact(revision)
2131
+ output "Preparo l'artifact leftorium .zip\n".yellow
2132
+
2133
+ git_checkout_version('leftorium', revision)
2134
+
2135
+ Dir.chdir 'projects/leftorium'
2136
+
2137
+ decrypt_secrets()
2138
+
2139
+ if @qainit
2140
+ exec_step 'cp docker-compose.yml docker-compose-ci.yml'
2141
+ exec_step 'prepare-docker-compose --directory leftorium && cp docker-compose-qainit.yml docker-compose.yml'
2142
+ [
2143
+ "docker-compose build web",
2144
+ "docker-compose run -w $PWD -u root -e MIX_ENV=qa --entrypoint /bin/sh web \
2145
+ '-c' 'mix local.hex --force && mix hex.info && \
2146
+ mix deps.get && mix compile && mix deps.compile && \
2147
+ rm -rf _build/qa/rel/ && \
2148
+ mix release --env=qa'"
2149
+ ].each do |cmd|
2150
+ execute_command cmd
2151
+ end
2152
+
2153
+ cleanup_containers
2154
+ else
2155
+ [
2156
+ "docker-compose build web",
2157
+ "docker run -v $PWD:/code -w /code -e MIX_ENV=qa --entrypoint /bin/sh leftorium_web \
2158
+ '-c' 'mix local.hex --force && mix hex.info && \
2159
+ mix deps.get && mix compile && mix deps.compile && \
2160
+ rm -rf _build/qa/rel/ && \
2161
+ mix release --env=qa'"
2162
+ ].each do |cmd|
2163
+ execute_command cmd
2164
+ end
2165
+ end
2166
+
2167
+ artifact_path = Dir.glob('_build/qa/rel/leftorium/releases/*/leftorium.tar.gz').first
2168
+ upload_artifact(artifact_path, "microservices/leftorium/#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
2169
+
2170
+ Dir.chdir '../../'
2171
+ end
2172
+
2127
2173
  def create_hal9000_artifact(revision)
2128
2174
  output "Preparo l'artifact hal9000 .zip\n".yellow
2129
2175
 
@@ -2221,8 +2267,6 @@ class Release
2221
2267
 
2222
2268
  Dir.chdir 'projects/peano'
2223
2269
 
2224
- stop_unless is_branch_compatible_with_current_twig_version?("peano"), "Il tuo branch del progetto peano non e' compatibile con questa versione di twig, devi REBASARE DA MASTER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!".red
2225
-
2226
2270
  decrypt_secrets() unless File.exist?('config/secrets.yml')
2227
2271
 
2228
2272
  if @qainit
@@ -2463,8 +2507,6 @@ class Release
2463
2507
 
2464
2508
  Dir.chdir 'projects/borat'
2465
2509
 
2466
- stop_unless is_branch_compatible_with_current_twig_version?("borat"), "Il tuo branch del progetto borat non e' compatibile con questa versione di twig, devi REBASARE DA MASTER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!".red
2467
-
2468
2510
  decrypt_secrets()
2469
2511
 
2470
2512
  if @qainit
@@ -2771,35 +2813,6 @@ class Release
2771
2813
  { name: name, revision: revision[0..14], committer: committer_email }
2772
2814
  end
2773
2815
 
2774
- def is_branch_compatible_with_current_twig_version?(project)
2775
- case
2776
- when project == 'prima'
2777
- File.readlines("app/config/config_qa.yml").grep(/replaceme-assange.qa.staging.colaster.com/).size > 0
2778
- when project == 'urania'
2779
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2780
- when project == 'backoffice'
2781
- File.readlines("deploy/deploy.sh").grep(/HOSTNAME_PATTERN/).size > 0
2782
- when project == 'bburago'
2783
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2784
- when project == 'hal9000'
2785
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2786
- when project == 'fidaty'
2787
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2788
- when project == 'activia'
2789
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2790
- when project == 'peano'
2791
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2792
- when project == 'assange'
2793
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2794
- when project == 'borat'
2795
- File.readlines("deploy/task.yml").grep(/WsEndpoint/).size > 0
2796
- when project == 'crash'
2797
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2798
- when project == 'ermes'
2799
- File.readlines("deploy/deploy").grep(/HOSTNAME_PATTERN/).size > 0
2800
- end
2801
- end
2802
-
2803
2816
  def get_stacks()
2804
2817
  envs = {}
2805
2818
  stack_list = stack_list()
@@ -2907,20 +2920,7 @@ class Release
2907
2920
  def select_branches(project_name = nil)
2908
2921
  output "Deploy feature menu"
2909
2922
  if project_name.nil?
2910
- @projects['prima'] = choose_branch_to_deploy('prima')
2911
- @projects['urania'] = choose_branch_to_deploy('urania')
2912
- @projects['ermes'] = choose_branch_to_deploy('ermes')
2913
- @projects['bburago'] = choose_branch_to_deploy('bburago')
2914
- @projects['hal9000'] = choose_branch_to_deploy('hal9000')
2915
- @projects['fidaty'] = choose_branch_to_deploy('fidaty')
2916
- @projects['peano'] = choose_branch_to_deploy('peano')
2917
- @projects['rogoreport'] = choose_branch_to_deploy('rogoreport')
2918
- @projects['assange'] = choose_branch_to_deploy('assange')
2919
- @projects['borat'] = choose_branch_to_deploy('borat')
2920
- @projects['crash'] = choose_branch_to_deploy('crash')
2921
- @projects['activia'] = choose_branch_to_deploy('activia')
2922
- @projects['skynet'] = choose_branch_to_deploy('skynet')
2923
- @projects['roger'] = choose_branch_to_deploy('roger')
2923
+ @projects.each{ |key, value| @projects[key] = choose_branch_to_deploy(value) }
2924
2924
  else
2925
2925
  stop_unless File.directory?("./projects/#{project_name}"), "progetto #{project_name} inesistente o non supportato"
2926
2926
  @projects[project_name] = choose_branch_to_deploy(project_name)
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.46.10
4
+ version: 0.47.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2019-05-30 00:00:00.000000000 Z
17
+ date: 2019-06-03 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk