prima-twig 0.40.18 → 0.41.0

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 +116 -12
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80ff4e1e6e384ae4d28eb717a3fb65bdd38d9737379c033abf9ef6e3c47dbc27
4
- data.tar.gz: fbeef3aab9744b7b6e63cdcfb614d6da9cb38ad8bb16dc8ab526ad74c71f59a0
3
+ metadata.gz: 25952b1a4acad0ebf26356e19c2973eaa1b81a9aa3ad03b0052eca4e69099c18
4
+ data.tar.gz: c4cf7a9e3ce1342ae3daf383fbca7a26efdcc72ee6134c335924f047c4c0b219
5
5
  SHA512:
6
- metadata.gz: 86279037bf3a3034c4b90f9c51743b3182638527e5f97f32d4ff0893ce4b7b5d3a05a2f281c1dc6eb50ac6d00ba0a1ab215553363d91709cc78db87ad3c8fcd4
7
- data.tar.gz: 747211cf83c50d32a88853f63fd045a1506cdbeb65517057f9a5d98aa26143834a30f8325710483b24d69f6d66baf6ca0e4d51ab500080430ceb5ec7fb505c1d
6
+ metadata.gz: 17197433d47d8985db8f21d117aeb5ccd42eaf88d407dcbb27468915de3e57c3a946ef0d19fe2a63cea15afab2bc52a482d1b13131353622207bda689c6f269b
7
+ data.tar.gz: 506f49dc4b97d3ff4c5c413b871c991cb3cf7be891af6298eb2063bd0b4d8a0b85c741c3bca8b2a1c37b16175c8bd9ae700d1b68f61ab3ab51dd7512b345dcda
data/bin/twig-feature CHANGED
@@ -48,7 +48,8 @@ class Release
48
48
  'borat' => {},
49
49
  'crash' => {},
50
50
  'activia' => {},
51
- 'skynet' => {}
51
+ 'skynet' => {},
52
+ 'roger' => {}
52
53
  }
53
54
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
54
55
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -110,6 +111,7 @@ class Release
110
111
  end
111
112
 
112
113
  def stop_for_wrong_args
114
+ puts help_content
113
115
  stop_if true, [:wrong_args, ['start', 'finish', 'deploy', 'deploy project_name', 'deploy stop', 'deploy update', 'aggregator enable', 'aggregator disable']]
114
116
  end
115
117
 
@@ -938,6 +940,10 @@ class Release
938
940
  {
939
941
  key: "skynet",
940
942
  value: @projects["skynet"][:name]
943
+ },
944
+ {
945
+ key: "roger",
946
+ value: @projects["roger"][:name]
941
947
  }
942
948
  ]
943
949
  tags << { key: 'crash', value: @projects['crash'][:name] } if deploy_crash?
@@ -978,6 +984,7 @@ class Release
978
984
  create_stack(stack_name_db, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_db)
979
985
 
980
986
  create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}-#{deploy_id}.tar.gz")
987
+ create_roger_artifact(@projects["roger"][:revision], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "microservices/roger/#{@projects["roger"][:revision]}-#{deploy_id}.tar.gz")
981
988
  create_crash_artifact(@projects['crash'][:revision], deploy_id) unless !deploy_crash? || artifact_exists?('prima-artifacts-encrypted', "microservices/crash/#{@projects['crash'][:revision]}-#{deploy_id}-qa.tar.gz")
982
989
  create_urania_artifact(@projects["urania"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/urania/#{@projects["urania"][:revision]}-qa.tar.gz")
983
990
  create_ermes_artifact(@projects["ermes"][:revision], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "microservices/ermes/#{@projects["ermes"][:revision]}-#{deploy_id}-qa.tar.gz")
@@ -1047,6 +1054,10 @@ class Release
1047
1054
  parameter_key: "SkynetIp",
1048
1055
  parameter_value: ec2_ip_address(asg_stack_name)
1049
1056
  },
1057
+ {
1058
+ parameter_key: "RogerIp",
1059
+ parameter_value: ec2_ip_address(asg_stack_name)
1060
+ },
1050
1061
  {
1051
1062
  parameter_key: "RedisIp",
1052
1063
  parameter_value: ec2_ip_address(asg_stack_name)
@@ -1646,6 +1657,42 @@ class Release
1646
1657
  create_stack(stack_name_consumer, stack_body, parameters, tags, @cf_role)
1647
1658
  end
1648
1659
 
1660
+ stack_name_roger = "ecs-task-roger-qa-#{deploy_id}"
1661
+ git_checkout_version('roger', @projects["roger"][:revision])
1662
+ stack_body = File.read('projects/roger/deploy/task.yml')
1663
+ parameters = [
1664
+ {
1665
+ parameter_key: "Environment",
1666
+ parameter_value: "qa"
1667
+ },
1668
+ {
1669
+ parameter_key: "ReleaseVersion",
1670
+ parameter_value: @projects["roger"][:revision]
1671
+ },
1672
+ {
1673
+ parameter_key: "TaskDesiredCount",
1674
+ parameter_value: "1"
1675
+ },
1676
+ {
1677
+ parameter_key: "ECSClusterName",
1678
+ parameter_value: @ecs_cluster_name
1679
+ },
1680
+ {
1681
+ parameter_key: "HostnamePattern",
1682
+ parameter_value: "roger-#{@dns_record_identifier}.qa.colaster.com"
1683
+ },
1684
+ {
1685
+ parameter_key: "HostnamePatternPriority",
1686
+ parameter_value: hostname_pattern_priority
1687
+ }
1688
+ ]
1689
+ if stack_exists?(stack_name_roger)
1690
+ cur_version = get_currently_deployed_version(stack_name_roger)
1691
+ update_stack(stack_name_roger, stack_body, parameters, tags, @cf_role) unless cur_version.include?(@projects["roger"][:revision])
1692
+ else
1693
+ create_stack(stack_name_roger, stack_body, parameters, tags, @cf_role)
1694
+ end
1695
+
1649
1696
  wait_for_stack_ready(stack_name_web) unless stack_ready?(stack_name_web)
1650
1697
  wait_for_stack_ready(stack_name_consumer) unless stack_ready?(stack_name_consumer)
1651
1698
  wait_for_stack_ready(stack_name_backoffice) unless stack_ready?(stack_name_backoffice)
@@ -1704,6 +1751,7 @@ class Release
1704
1751
  > Assange url: https://#{assange_hostname}
1705
1752
  > Activia url: http://#{activia_hostname}:10041
1706
1753
  > Skynet url: http://#{skynet_hostname}:8050
1754
+ > Roger url: http://#{roger_hostname}:10051
1707
1755
  > Backoffice (legacy) url: https://#{backoffice_hostname}"
1708
1756
  projects_text.concat "
1709
1757
  > Crash url: https://#{crash_hostname}" if deploy_crash?
@@ -1748,6 +1796,8 @@ class Release
1748
1796
  host = "activia-#{@dns_record_identifier}.qa.colaster.com"
1749
1797
  when stack_name.include?('skynet')
1750
1798
  host = "skynet-#{@dns_record_identifier}.qa.colaster.com"
1799
+ when stack_name.include?('roger')
1800
+ host = "roger-#{@dns_record_identifier}.qa.colaster.com"
1751
1801
  end
1752
1802
  host
1753
1803
  end
@@ -1784,6 +1834,8 @@ class Release
1784
1834
  logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1785
1835
  when stack_name.include?('skynet')
1786
1836
  logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1837
+ when stack_name.include?('roger')
1838
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1787
1839
  when stack_name.include?('alb-http-public')
1788
1840
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1789
1841
  when stack_name.include?('alb-ws-public')
@@ -1827,6 +1879,8 @@ class Release
1827
1879
  logical_resource_id = 'ECSServiceFidatyQA'
1828
1880
  when stack_name.include?('skynet')
1829
1881
  logical_resource_id = 'ECSServiceSkynetQA'
1882
+ when stack_name.include?('roger')
1883
+ logical_resource_id = 'ECSServiceRogerQA'
1830
1884
  when stack_name.include?('activia')
1831
1885
  logical_resource_id = 'ECSServiceActiviaQA'
1832
1886
  when stack_name.include?('peano')
@@ -2432,6 +2486,55 @@ class Release
2432
2486
  Dir.chdir '../../'
2433
2487
  end
2434
2488
 
2489
+ def create_roger_artifact(revision, deploy_id)
2490
+ output "Preparo l'artifact roger .zip\n".yellow
2491
+
2492
+ git_checkout_version('roger', revision)
2493
+
2494
+ Dir.chdir 'projects/roger'
2495
+
2496
+ decrypt_secrets()
2497
+
2498
+ if @qainit
2499
+ exec_step 'cp docker-compose.yml docker-compose-ci.yml'
2500
+ exec_step 'prepare-docker-compose --directory roger && cp docker-compose-qainit.yml docker-compose.yml'
2501
+ [
2502
+ "docker-compose build web",
2503
+ "docker-compose run -w $PWD -u root -e MIX_ENV=qa --entrypoint /bin/sh web \
2504
+ '-c' 'mix local.hex --force && mix hex.info && \
2505
+ mix deps.get && mix compile && mix deps.compile && \
2506
+ mix phx.digest && \
2507
+ rm -rf _build/qa/rel/ && \
2508
+ mix release --env=qa'"
2509
+ ].each do |cmd|
2510
+ execute_command cmd
2511
+ end
2512
+
2513
+ cleanup_containers
2514
+ else
2515
+ [
2516
+ "docker-compose build web",
2517
+ "docker run -v $PWD:/code -w /code -e MIX_ENV=qa --entrypoint /bin/sh roger_web \
2518
+ '-c' 'mix local.hex --force && mix hex.info && \
2519
+ mix deps.get && mix compile && mix deps.compile && \
2520
+ mix phx.digest && \
2521
+ rm -rf _build/qa/rel/ && \
2522
+ mix release --env=qa'"
2523
+ ].each do |cmd|
2524
+ execute_command cmd
2525
+ end
2526
+ end
2527
+
2528
+ if @qainit
2529
+ artifact_path = Dir.glob("_build/qa/rel/roger/releases/*/roger.tar.gz").first
2530
+ else
2531
+ artifact_path = Dir.glob("_build/qa/rel/roger/releases/*/roger.tar.gz").first
2532
+ end
2533
+ upload_artifact(artifact_path, "microservices/roger/#{revision}-#{deploy_id}-qa.tar.gz", "#{@s3_bucket}-encrypted")
2534
+
2535
+ Dir.chdir '../../'
2536
+ end
2537
+
2435
2538
  def create_borat_artifact(revision, deploy_id)
2436
2539
  output "Preparo l'artifact borat .zip\n".yellow
2437
2540
 
@@ -2961,20 +3064,21 @@ class Release
2961
3064
  def select_branches(project_name = nil)
2962
3065
  output "Deploy feature menu"
2963
3066
  if project_name.nil?
2964
- @projects["prima"] = choose_branch_to_deploy('prima')
2965
- @projects["backoffice"] = choose_branch_to_deploy('backoffice')
2966
- @projects["urania"] = choose_branch_to_deploy('urania')
2967
- @projects["ermes"] = choose_branch_to_deploy('ermes')
2968
- @projects["bburago"] = choose_branch_to_deploy('bburago')
2969
- @projects["hal9000"] = choose_branch_to_deploy('hal9000')
2970
- @projects["fidaty"] = choose_branch_to_deploy('fidaty')
2971
- @projects["peano"] = choose_branch_to_deploy('peano')
2972
- @projects["rogoreport"] = choose_branch_to_deploy('rogoreport')
2973
- @projects["assange"] = choose_branch_to_deploy('assange')
2974
- @projects["borat"] = choose_branch_to_deploy('borat')
3067
+ @projects['prima'] = choose_branch_to_deploy('prima')
3068
+ @projects['backoffice'] = choose_branch_to_deploy('backoffice')
3069
+ @projects['urania'] = choose_branch_to_deploy('urania')
3070
+ @projects['ermes'] = choose_branch_to_deploy('ermes')
3071
+ @projects['bburago'] = choose_branch_to_deploy('bburago')
3072
+ @projects['hal9000'] = choose_branch_to_deploy('hal9000')
3073
+ @projects['fidaty'] = choose_branch_to_deploy('fidaty')
3074
+ @projects['peano'] = choose_branch_to_deploy('peano')
3075
+ @projects['rogoreport'] = choose_branch_to_deploy('rogoreport')
3076
+ @projects['assange'] = choose_branch_to_deploy('assange')
3077
+ @projects['borat'] = choose_branch_to_deploy('borat')
2975
3078
  @projects['crash'] = choose_branch_to_deploy('crash')
2976
3079
  @projects['activia'] = choose_branch_to_deploy('activia')
2977
3080
  @projects['skynet'] = choose_branch_to_deploy('skynet')
3081
+ @projects['roger'] = choose_branch_to_deploy('roger')
2978
3082
  else
2979
3083
  stop_unless File.directory?("./projects/#{project_name}"), "progetto #{project_name} inesistente o non supportato"
2980
3084
  @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.40.18
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-10-12 00:00:00.000000000 Z
16
+ date: 2018-10-17 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: aws-sdk