prima-twig 0.52.2 → 0.53.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/twig-feature +125 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e7ed94315b823c77e7906ac0d7ad9d3e7314f8b9bee2a281182a4a724ef8f06
|
4
|
+
data.tar.gz: 8359144db9048c8777e38f14869038a49b50f87049450b5bccc7b6c1abf1969d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da6d94d4bb4b70445609e5bf92d33cea327ea3357533b0196e25df695d199873959d78e121215cb6c4a0453db0601aa37922ad563ccd114ef2203c6a95111026
|
7
|
+
data.tar.gz: 371a6e947b3eb681eaa21f4f8802f1d9dd33e7b87a5196cc02280cc7f85e00e5ebb854e3748711d834030c57c172f2e58593c8b164e72617c0f33dc312e0913a
|
data/bin/twig-feature
CHANGED
@@ -56,7 +56,8 @@ class Release
|
|
56
56
|
'roger' => {},
|
57
57
|
'rachele' => {},
|
58
58
|
'leftorium' => {},
|
59
|
-
'pyxis-npm' => {}
|
59
|
+
'pyxis-npm' => {},
|
60
|
+
'starsky' => {}
|
60
61
|
}
|
61
62
|
@base_stack_name_alb = 'ecs-alb-http-public-qa-'
|
62
63
|
@base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
|
@@ -612,7 +613,7 @@ class Release
|
|
612
613
|
output "Recupero le informazioni sui QA attivi..."
|
613
614
|
stack_list, envs = get_stacks
|
614
615
|
|
615
|
-
env_hash = "qa-" +
|
616
|
+
env_hash = "qa-" + get_deploy_id
|
616
617
|
|
617
618
|
cluster_stack_name = nil
|
618
619
|
stacks_to_delete = []
|
@@ -706,8 +707,13 @@ class Release
|
|
706
707
|
@s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/elb/alb-public-qa.yml', response_target: 'cloudformation/stacks/elb/alb-public-qa.yml'})
|
707
708
|
end
|
708
709
|
|
709
|
-
def
|
710
|
-
|
710
|
+
def get_deploy_id
|
711
|
+
if @deploy_id
|
712
|
+
@deploy_id
|
713
|
+
else
|
714
|
+
@deploy_id = Digest::MD5.hexdigest(ENV['DRONE_BRANCH'])
|
715
|
+
@deploy_id
|
716
|
+
end
|
711
717
|
end
|
712
718
|
|
713
719
|
def qainit_drone_minimal_deploy!
|
@@ -720,7 +726,7 @@ class Release
|
|
720
726
|
git_checkout_version(project_key, @projects[project_key][:revision])
|
721
727
|
end
|
722
728
|
end
|
723
|
-
deploy_id =
|
729
|
+
deploy_id = get_deploy_id
|
724
730
|
|
725
731
|
@git_branch = ENV['DRONE_BRANCH']
|
726
732
|
@dns_record_identifier = deploy_id
|
@@ -764,7 +770,7 @@ class Release
|
|
764
770
|
asg_stack_name = "ecs-asg-allinone-qa-#{deploy_id}"
|
765
771
|
create_asg_stack(asg_stack_name, tags) unless stack_exists?(asg_stack_name)
|
766
772
|
|
767
|
-
deploy_id =
|
773
|
+
deploy_id = get_deploy_id
|
768
774
|
create_pyxis_artifact(@projects["pyxis-npm"][:revision], deploy_id)
|
769
775
|
create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id, true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
|
770
776
|
|
@@ -872,7 +878,7 @@ class Release
|
|
872
878
|
def deploy_feature!
|
873
879
|
`git pull && git submodule init && git submodule update`
|
874
880
|
@ami_id = get_ami_id("ecs-fleet-allinone-staging")
|
875
|
-
deploy_id =
|
881
|
+
deploy_id = get_deploy_id
|
876
882
|
stack_name_alb = 'ecs-alb-http-public-qa-' + deploy_id[0..5]
|
877
883
|
stack_name_alb_ws = 'ecs-alb-ws-public-qa-' + deploy_id[0..5]
|
878
884
|
unless @qainit
|
@@ -896,8 +902,11 @@ class Release
|
|
896
902
|
}
|
897
903
|
]
|
898
904
|
@projects.each do |key, value|
|
899
|
-
|
905
|
+
case key.to_s
|
906
|
+
when 'crash'
|
900
907
|
tags << { key: 'crash', value: @projects['crash'][:name] } if deploy_crash?
|
908
|
+
when 'starsky', 'hutch'
|
909
|
+
tags << { key: key.to_s, value: @projects[key.to_s][:name] } if deploy_starsky_hutch?
|
901
910
|
else
|
902
911
|
tags << { key: key, value: value[:name] }
|
903
912
|
end
|
@@ -962,6 +971,7 @@ class Release
|
|
962
971
|
create_activia_artifact(@projects["activia"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/activia/#{@projects["activia"][:revision]}-qa.tar.gz")
|
963
972
|
create_leftorium_artifact(@projects["leftorium"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/leftorium/#{@projects["leftorium"][:revision]}-qa.tar.gz")
|
964
973
|
create_skynet_artifact(@projects["skynet"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/skynet/#{@projects["skynet"][:revision]}-qa.tar.gz")
|
974
|
+
create_starsky_artifact(@projects["starsky"][:revision]) unless !deploy_starsky_hutch? || artifact_exists?('prima-artifacts-encrypted', "microservices/starsky/#{@projects["starsky"][:revision]}-qa.tar.gz")
|
965
975
|
|
966
976
|
wait_for_db_import(db_task) unless stack_exists?("ecs-route53-qa-#{deploy_id}") # dovrebbe essere istantaneo
|
967
977
|
|
@@ -1040,6 +1050,10 @@ class Release
|
|
1040
1050
|
{
|
1041
1051
|
parameter_key: 'CrashElbHostname',
|
1042
1052
|
parameter_value: get_alb_host(stack_name_alb_ws)
|
1053
|
+
},
|
1054
|
+
{
|
1055
|
+
parameter_key: 'StarskyElbHostname',
|
1056
|
+
parameter_value: get_alb_host(stack_name_alb)
|
1043
1057
|
}
|
1044
1058
|
]
|
1045
1059
|
|
@@ -1592,6 +1606,52 @@ class Release
|
|
1592
1606
|
end
|
1593
1607
|
end
|
1594
1608
|
|
1609
|
+
if deploy_starsky_hutch?
|
1610
|
+
stack_name_starsky = "ecs-task-starsky-qa-#{deploy_id}"
|
1611
|
+
git_checkout_version('starsky', @projects["starsky"][:revision])
|
1612
|
+
stack_body = IO.read('projects/starsky/deploy/task.yml')
|
1613
|
+
parameters = [
|
1614
|
+
{
|
1615
|
+
parameter_key: "Environment",
|
1616
|
+
parameter_value: "qa"
|
1617
|
+
},
|
1618
|
+
{
|
1619
|
+
parameter_key: "ReleaseVersion",
|
1620
|
+
parameter_value: "#{@projects["starsky"][:revision]}"
|
1621
|
+
},
|
1622
|
+
{
|
1623
|
+
parameter_key: "TaskDesiredCount",
|
1624
|
+
parameter_value: "1"
|
1625
|
+
},
|
1626
|
+
{
|
1627
|
+
parameter_key: "ECSClusterName",
|
1628
|
+
parameter_value: @ecs_cluster_name
|
1629
|
+
},
|
1630
|
+
{
|
1631
|
+
parameter_key: "ALBShortName",
|
1632
|
+
parameter_value: "starsky-qa-#{deploy_id}"[0..27]
|
1633
|
+
},
|
1634
|
+
{
|
1635
|
+
parameter_key: "EnvHash",
|
1636
|
+
parameter_value: deploy_id
|
1637
|
+
},
|
1638
|
+
{
|
1639
|
+
parameter_key: "HostnamePattern",
|
1640
|
+
parameter_value: "starsky-#{@dns_record_identifier}.qa.colaster.com"
|
1641
|
+
},
|
1642
|
+
{
|
1643
|
+
parameter_key: "HostnamePatternPriority",
|
1644
|
+
parameter_value: (hostname_pattern_priority.to_i + 74).to_s
|
1645
|
+
}
|
1646
|
+
]
|
1647
|
+
if stack_exists?(stack_name_starsky)
|
1648
|
+
cur_version = get_currently_deployed_version(stack_name_starsky)
|
1649
|
+
update_stack(stack_name_starsky, stack_body, parameters, tags, @cf_role) unless cur_version.include?(@projects["starsky"][:revision])
|
1650
|
+
else
|
1651
|
+
create_stack(stack_name_starsky, stack_body, parameters, tags, @cf_role)
|
1652
|
+
end
|
1653
|
+
end
|
1654
|
+
|
1595
1655
|
stack_name_activia = "ecs-task-activia-qa-#{deploy_id}"
|
1596
1656
|
git_checkout_version('activia', @projects["activia"][:revision])
|
1597
1657
|
stack_body = File.read('projects/activia/deploy/task.yml')
|
@@ -1795,6 +1855,7 @@ class Release
|
|
1795
1855
|
wait_for_stack_ready(stack_name_borat) unless stack_ready?(stack_name_borat)
|
1796
1856
|
wait_for_stack_ready(stack_name_activia) unless stack_ready?(stack_name_activia)
|
1797
1857
|
wait_for_stack_ready(stack_name_crash) unless stack_ready?(stack_name_crash) unless !deploy_crash?
|
1858
|
+
wait_for_stack_ready(stack_name_starsky) unless stack_ready?(stack_name_starsky) unless !deploy_starsky_hutch?
|
1798
1859
|
|
1799
1860
|
update_service_defaults(stack_name_web)
|
1800
1861
|
update_service_defaults(stack_name_consumer)
|
@@ -1811,6 +1872,7 @@ class Release
|
|
1811
1872
|
update_service_defaults(stack_name_skynet)
|
1812
1873
|
update_service_defaults(stack_name_leftorium)
|
1813
1874
|
update_service_defaults(stack_name_rachele)
|
1875
|
+
update_service_defaults(stack_name_starsky) unless !deploy_starsky_hutch?
|
1814
1876
|
update_service_defaults(stack_name_crash) unless !deploy_crash?
|
1815
1877
|
|
1816
1878
|
activia_hostname = get_route53_hostname(stack_name_activia)
|
@@ -1828,6 +1890,7 @@ class Release
|
|
1828
1890
|
leftorium_hostname = get_route53_hostname(stack_name_leftorium)
|
1829
1891
|
rachele_hostname = get_route53_hostname(stack_name_rachele)
|
1830
1892
|
crash_hostname = get_route53_hostname(stack_name_crash) unless !deploy_crash?
|
1893
|
+
starsky_hostname = get_route53_hostname(stack_name_starsky) unless !deploy_starsky_hutch?
|
1831
1894
|
|
1832
1895
|
# launch_marley ec2_ip_address(asg_stack_name), prima_hostname, borat_hostname
|
1833
1896
|
|
@@ -1849,6 +1912,8 @@ class Release
|
|
1849
1912
|
projects_text.concat "
|
1850
1913
|
> Crash url: https://#{crash_hostname}" if deploy_crash?
|
1851
1914
|
projects_text.concat "
|
1915
|
+
> Starsky url: https://#{starsky_hostname}" if deploy_starsky_hutch?
|
1916
|
+
projects_text.concat "
|
1852
1917
|
> RabbitMQ url: http://#{ec2_ip_address(asg_stack_name)}:15672
|
1853
1918
|
> Supervisor url: http://#{ec2_ip_address(asg_stack_name)}:9001
|
1854
1919
|
> Elasticsearch url: http://#{ec2_ip_address(asg_stack_name)}:9200
|
@@ -1891,6 +1956,8 @@ class Release
|
|
1891
1956
|
host = "leftorium-#{@dns_record_identifier}.qa.colaster.com"
|
1892
1957
|
when stack_name.include?('rachele')
|
1893
1958
|
host = "rachele-#{@dns_record_identifier}.qa.colaster.com"
|
1959
|
+
when stack_name.include?('starsky')
|
1960
|
+
host = "starsky-#{@dns_record_identifier}.qa.colaster.com"
|
1894
1961
|
end
|
1895
1962
|
host
|
1896
1963
|
end
|
@@ -1945,6 +2012,8 @@ class Release
|
|
1945
2012
|
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
1946
2013
|
when stack_name.include?('rachele')
|
1947
2014
|
logical_resource_id = 'EcsApplicationLoadBalancerInternal'
|
2015
|
+
when stack_name.include?('starsky')
|
2016
|
+
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
1948
2017
|
end
|
1949
2018
|
resp = @cf.describe_stack_resource({
|
1950
2019
|
stack_name: stack_name,
|
@@ -1994,6 +2063,8 @@ class Release
|
|
1994
2063
|
logical_resource_id = 'ECSServiceRacheleQA'
|
1995
2064
|
when stack_name.include?('crash')
|
1996
2065
|
logical_resource_id = 'ECSServiceCrashQA'
|
2066
|
+
when stack_name.include?('starsky')
|
2067
|
+
logical_resource_id = 'ECSServiceStarskyQA'
|
1997
2068
|
else
|
1998
2069
|
raise "Service name non gestito per lo stack #{stack_name}"
|
1999
2070
|
end
|
@@ -2523,6 +2594,46 @@ class Release
|
|
2523
2594
|
Dir.chdir '../../'
|
2524
2595
|
end
|
2525
2596
|
|
2597
|
+
def create_starsky_artifact(revision)
|
2598
|
+
output "Preparo l'artifact starsky\n".yellow
|
2599
|
+
|
2600
|
+
git_checkout_version('starsky', revision)
|
2601
|
+
|
2602
|
+
Dir.chdir 'projects/starsky'
|
2603
|
+
|
2604
|
+
version = `git rev-parse HEAD`
|
2605
|
+
|
2606
|
+
#artifact_path = "/tmp/starsky-#{revision}-qa.tar.gz"
|
2607
|
+
|
2608
|
+
decrypt_secrets() unless File.exist?('config/secrets.yml')
|
2609
|
+
|
2610
|
+
exec_step 'cp docker-compose.yml docker-compose-ci.yml'
|
2611
|
+
exec_step 'prepare-docker-compose --directory starsky && cp docker-compose-qainit.yml docker-compose.yml'
|
2612
|
+
exec_step "sed s/qa_deploy_id/#{get_deploy_id}/ .env.dist.qa"
|
2613
|
+
exec_step "cp .env.dist.qa .env"
|
2614
|
+
|
2615
|
+
[
|
2616
|
+
"sed -i 's/USER app/USER root/g' Dockerfile",
|
2617
|
+
"docker-compose build web",
|
2618
|
+
"docker-compose run -w $PWD -u root --entrypoint /bin/sh web \
|
2619
|
+
'-c' 'cargo build --release -vv \
|
2620
|
+
&& cargo build --bin migrate --release \
|
2621
|
+
&& cargo build --bin rabbit_worker --release \
|
2622
|
+
&& cp -p target/release/starsky . \
|
2623
|
+
&& cp -p target/release/migrate . \
|
2624
|
+
&& cp -p target/release/rabbit_worker . \
|
2625
|
+
&& tar cfz #{revision}-qa.tar.gz config starsky migrate rabbit_worker .env.dist.*'"
|
2626
|
+
].each do |cmd|
|
2627
|
+
execute_command cmd
|
2628
|
+
end
|
2629
|
+
|
2630
|
+
artifact_path = "./#{revision}-qa.tar.gz"
|
2631
|
+
|
2632
|
+
upload_artifact(artifact_path, "microservices/starsky/#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
|
2633
|
+
|
2634
|
+
Dir.chdir '../../'
|
2635
|
+
end
|
2636
|
+
|
2526
2637
|
def create_urania_artifact(revision)
|
2527
2638
|
output "Preparo l'artifact urania .zip\n".yellow
|
2528
2639
|
|
@@ -2573,6 +2684,12 @@ class Release
|
|
2573
2684
|
crash_present || leftorium_present
|
2574
2685
|
end
|
2575
2686
|
|
2687
|
+
def deploy_starsky_hutch?
|
2688
|
+
starsky_present = !@projects['starsky'].nil? && !@projects['starsky'].empty? && @projects['starsky'][:name] != 'master' && !@projects['starsky'][:default_branch]
|
2689
|
+
#hutch_present = !@projects['hutch'].empty? && @projects['hutch'][:name] != 'master' && !@projects['hutch'][:default_branch]
|
2690
|
+
starsky_present #|| hutch_present TODO REMOVE
|
2691
|
+
end
|
2692
|
+
|
2576
2693
|
def get_pyxis_version(deploy_id)
|
2577
2694
|
(deploy_id.delete '[a-z0]')[0..9]
|
2578
2695
|
end
|
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
|
+
version: 0.53.0
|
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-09-
|
17
|
+
date: 2019-09-26 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: aws-sdk
|