prima-twig 0.40.18 → 0.41.0

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 +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