prima-twig 0.49.35 → 0.50.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 +31 -91
- 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: 0a4e1d0e3e7de702f37f27e80ad1bb431edd06a14e8f1b441a1fb2fec992d58a
|
4
|
+
data.tar.gz: 2f73027a52ac7f0e1197f958bf07751d48cfe038c4494e8ed89e24b24fcf0d20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cec8c66e49808f00d8bea459f238e984eaf155720ef35b18cae4c82e9c2ded0fdfceb4cf598a70ec217db2714529dfa802dcda86a9e4203483ba705a8ec2c955
|
7
|
+
data.tar.gz: 27f480ddc81500ba59148049c9ba994d87be8551fa0e0d13b71d985f3716466ff167569a24dc9de0458c3d5fb78c0479254ac78c2befa3c0d33a19b8591b99fe
|
data/bin/twig-feature
CHANGED
@@ -13,14 +13,12 @@ class Release
|
|
13
13
|
include Command
|
14
14
|
include PrimaAwsClient
|
15
15
|
|
16
|
-
def initialize
|
16
|
+
def initialize
|
17
17
|
@prima = Prima.new
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
exec "twig feature #{ARGV.join ' '}"
|
23
|
-
end
|
18
|
+
output 'Controllo se ci sono aggiornamenti da fare (potrebbe richiedere qualche minuto)'
|
19
|
+
unless `gem update prima-twig`=="Updating installed gems\nNothing to update\n"
|
20
|
+
output 'Gemma prima-twig aggiornata'
|
21
|
+
exec "twig feature #{ARGV.join ' '}"
|
24
22
|
end
|
25
23
|
@cf = Aws::CloudFormation::Client.new
|
26
24
|
@alb = Aws::ElasticLoadBalancingV2::Client.new
|
@@ -55,8 +53,7 @@ class Release
|
|
55
53
|
'skynet' => {},
|
56
54
|
'roger' => {},
|
57
55
|
'rachele' => {},
|
58
|
-
'leftorium' => {}
|
59
|
-
'pyxis-npm' => {}
|
56
|
+
'leftorium' => {}
|
60
57
|
}
|
61
58
|
@base_stack_name_alb = 'ecs-alb-http-public-qa-'
|
62
59
|
@base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
|
@@ -764,9 +761,7 @@ class Release
|
|
764
761
|
asg_stack_name = "ecs-asg-allinone-qa-#{deploy_id}"
|
765
762
|
create_asg_stack(asg_stack_name, tags) unless stack_exists?(asg_stack_name)
|
766
763
|
|
767
|
-
|
768
|
-
create_pyxis_artifact(@projects["pyxis-npm"][:revision], deploy_id)
|
769
|
-
create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id, true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
|
764
|
+
create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
|
770
765
|
|
771
766
|
wait_for_stack_ready(stack_name_alb) unless stack_ready?(stack_name_alb)
|
772
767
|
wait_for_stack_ready(stack_name_alb_ws) unless stack_ready?(stack_name_alb_ws)
|
@@ -938,9 +933,7 @@ class Release
|
|
938
933
|
]
|
939
934
|
create_stack(stack_name_db, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_db) # creazione asincrona stack dei db (~4 min)
|
940
935
|
|
941
|
-
|
942
|
-
create_pyxis_artifact(@projects["pyxis-npm"][:revision], deploy_id)# deve essere creato prima di quello di prima, per avere la versione
|
943
|
-
create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
|
936
|
+
create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name]) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
|
944
937
|
# l'artefatto di prima viene creato sempre (puntamenti all'ambiente compilati nel js) e richiede molto più di 4 minuti
|
945
938
|
wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db) # dovrebbe essere istantaneo
|
946
939
|
db_task = ''
|
@@ -952,10 +945,10 @@ class Release
|
|
952
945
|
create_ermes_artifact(@projects["ermes"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/ermes/#{@projects["ermes"][:revision]}-qa.tar.gz")
|
953
946
|
create_bburago_artifact(@projects["bburago"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/bburago/#{@projects["bburago"][:revision]}-qa.tar.gz")
|
954
947
|
create_hal9000_artifact(@projects["hal9000"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/hal9000/#{@projects["hal9000"][:revision]}-qa.tar.gz")
|
955
|
-
create_rachele_artifact(@projects[
|
948
|
+
create_rachele_artifact(@projects['rachele'][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/crash/#{@projects['rachele'][:revision]}-qa.tar.gz")
|
956
949
|
create_fidaty_artifact(@projects["fidaty"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/fidaty/#{@projects["fidaty"][:revision]}-qa.tar.gz")
|
957
950
|
create_peano_artifact(@projects["peano"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/peano/#{@projects["peano"][:revision]}-qa.tar.gz")
|
958
|
-
create_rogoreport_artifact(@projects["rogoreport"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/rogoreport/
|
951
|
+
create_rogoreport_artifact(@projects["rogoreport"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/rogoreport/rogoreport_qa-#{@projects["rogoreport"][:revision]}-qa.tar.gz")
|
959
952
|
create_assange_artifact(@projects["assange"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/assange/#{@projects["assange"][:revision]}-qa.tar.gz")
|
960
953
|
create_borat_artifact(@projects["borat"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/borat/#{@projects["borat"][:revision]}-qa.tar.gz")
|
961
954
|
create_activia_artifact(@projects["activia"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/activia/#{@projects["activia"][:revision]}-qa.tar.gz")
|
@@ -1331,7 +1324,7 @@ class Release
|
|
1331
1324
|
},
|
1332
1325
|
{
|
1333
1326
|
parameter_key: "ReleaseName",
|
1334
|
-
parameter_value: "
|
1327
|
+
parameter_value: "rogoreport_qa"
|
1335
1328
|
},
|
1336
1329
|
{
|
1337
1330
|
parameter_key: "ECSClusterName",
|
@@ -1986,7 +1979,7 @@ class Release
|
|
1986
1979
|
when stack_name.include?('rogoreport')
|
1987
1980
|
logical_resource_id = 'ECSServiceRogoreport'
|
1988
1981
|
when stack_name.include?('assange')
|
1989
|
-
logical_resource_id = '
|
1982
|
+
logical_resource_id = 'ECSServiceAssange'
|
1990
1983
|
when stack_name.include?('borat')
|
1991
1984
|
logical_resource_id = 'ECSServiceBorat'
|
1992
1985
|
when stack_name.include?('leftorium')
|
@@ -1994,7 +1987,7 @@ class Release
|
|
1994
1987
|
when stack_name.include?('rachele')
|
1995
1988
|
logical_resource_id = 'ECSServiceRacheleQA'
|
1996
1989
|
when stack_name.include?('crash')
|
1997
|
-
logical_resource_id = '
|
1990
|
+
logical_resource_id = 'ECSServiceCrash'
|
1998
1991
|
else
|
1999
1992
|
raise "Service name non gestito per lo stack #{stack_name}"
|
2000
1993
|
end
|
@@ -2155,22 +2148,6 @@ class Release
|
|
2155
2148
|
Dir.chdir '../../'
|
2156
2149
|
end
|
2157
2150
|
|
2158
|
-
def deploy_pyxis?
|
2159
|
-
output "deploy_pyxis: #{@deploy_pyxis}".yellow
|
2160
|
-
if defined? @deploy_pyxis
|
2161
|
-
@deploy_pyxis
|
2162
|
-
else
|
2163
|
-
output `git log -p -1 --unified=0 | grep pyxis-npm:`.yellow
|
2164
|
-
pyxis_updated = `git log -p -1 --unified=0 | grep pyxis-npm:`.length > 0
|
2165
|
-
output "pyxis empty: #{!@projects['pyxis-npm'].empty?} pyxis name: #{@projects['pyxis-npm'][:name] != 'master'} pyxis updated: #{pyxis_updated}".yellow
|
2166
|
-
update_pyxis = !@projects['pyxis-npm'].empty? && @projects['pyxis-npm'][:name] != 'master' && pyxis_updated
|
2167
|
-
output "update_pyxis: #{@update_pyxis}".yellow
|
2168
|
-
@deploy_pyxis = update_pyxis
|
2169
|
-
output "deploy_pyxis: #{@deploy_pyxis}".yellow
|
2170
|
-
return update_pyxis
|
2171
|
-
end
|
2172
|
-
end
|
2173
|
-
|
2174
2151
|
def deploy_crash?
|
2175
2152
|
crash_present = !@projects['crash'].empty? && @projects['crash'][:name] != 'master' && !@projects['crash'][:default_branch]
|
2176
2153
|
leftorium_present = !@projects['leftorium'].empty? && @projects['leftorium'][:name] != 'master' && !@projects['leftorium'][:default_branch]
|
@@ -2459,7 +2436,7 @@ class Release
|
|
2459
2436
|
'-c' 'mix local.hex --force && mix hex.info && \
|
2460
2437
|
mix deps.get && mix compile && mix deps.compile && \
|
2461
2438
|
rm -rf _build/qa/rel/ && \
|
2462
|
-
mix release --name=
|
2439
|
+
mix release --name=rogoreport_qa --env=qa'"
|
2463
2440
|
].each do |cmd|
|
2464
2441
|
execute_command cmd
|
2465
2442
|
end
|
@@ -2473,14 +2450,14 @@ class Release
|
|
2473
2450
|
mix local.hex --force && mix hex.info && \
|
2474
2451
|
mix deps.get && mix compile && mix deps.compile && \
|
2475
2452
|
rm -rf _build/qa/rel/ && \
|
2476
|
-
mix release --env=qa'"
|
2453
|
+
mix release --name=rogoreport_qa --env=qa'"
|
2477
2454
|
].each do |cmd|
|
2478
2455
|
execute_command cmd
|
2479
2456
|
end
|
2480
2457
|
end
|
2481
2458
|
|
2482
|
-
artifact_path = Dir.glob("_build/qa/rel/rogoreport
|
2483
|
-
upload_artifact(artifact_path, "microservices/rogoreport/
|
2459
|
+
artifact_path = Dir.glob("_build/qa/rel/rogoreport*/releases/*/rogoreport*.tar.gz").first
|
2460
|
+
upload_artifact(artifact_path, "microservices/rogoreport/rogoreport_qa-#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
|
2484
2461
|
|
2485
2462
|
Dir.chdir '../../'
|
2486
2463
|
end
|
@@ -2715,7 +2692,8 @@ class Release
|
|
2715
2692
|
Dir.chdir '../../'
|
2716
2693
|
end
|
2717
2694
|
|
2718
|
-
def create_prima_artifact(revision, branch_name,
|
2695
|
+
def create_prima_artifact(revision, branch_name, minimal = false)
|
2696
|
+
# @projects["prima"][:revision], @projects["prima"][:name], deploy_id, true
|
2719
2697
|
output "Preparo l'artifact prima .zip\n".yellow
|
2720
2698
|
|
2721
2699
|
git_checkout_version('prima', revision)
|
@@ -2730,11 +2708,21 @@ class Release
|
|
2730
2708
|
end
|
2731
2709
|
end
|
2732
2710
|
|
2711
|
+
# backoffice_qa_host = get_route53_hostname("ecs-task-borat-qa-notneeded")
|
2712
|
+
# # backoffice-staging.prima.it
|
2713
|
+
# web_qa_host = get_route53_hostname("ecs-task-web-qa-notneeded")
|
2714
|
+
# # staging.prima.it
|
2715
|
+
# assange_qa_host = get_route53_hostname("ecs-task-assange-qa-notneeded")
|
2716
|
+
# # assange-staging.prima.it
|
2717
|
+
# if minimal
|
2718
|
+
# backoffice_qa_host = 'backoffice-staging.prima.it'
|
2719
|
+
# assange_qa_host = 'assange-staging.prima.it'
|
2720
|
+
# end
|
2721
|
+
|
2733
2722
|
if @qainit
|
2734
2723
|
exec_step 'mv docker-compose-ci.yml docker-compose.yml'
|
2735
2724
|
exec_step 'prepare-docker-compose --directory prima'
|
2736
2725
|
exec_step 'sed -i "s/\\/home\\/app/\\/root/g" docker-compose.yml'
|
2737
|
-
`sed -i 's/"@prima-assicurazioni/pyxis-npm": ".*",/"@prima-assicurazioni/pyxis-npm": "#{@pyxis_version}",/' package.json` if deploy_pyxis?
|
2738
2726
|
[
|
2739
2727
|
"bin/qa_build_artifact.sh #{branch_name} #{'update' if @deploy_update}"
|
2740
2728
|
].each do |cmd|
|
@@ -2753,47 +2741,6 @@ class Release
|
|
2753
2741
|
Dir.chdir "../../"
|
2754
2742
|
end
|
2755
2743
|
|
2756
|
-
def create_pyxis_artifact(revision, deploy_id)
|
2757
|
-
if (deploy_pyxis?)
|
2758
|
-
output "Preparo l'artifact pyxis\n".yellow
|
2759
|
-
|
2760
|
-
git_checkout_version('pyxis-npm', revision)
|
2761
|
-
|
2762
|
-
Dir.chdir 'projects/pyxis-npm'
|
2763
|
-
|
2764
|
-
decrypt_secrets()
|
2765
|
-
|
2766
|
-
exec_step 'mv .fakenpmrc .npmrc'
|
2767
|
-
exec_step 'cp docker-compose.yml docker-compose-ci.yml'
|
2768
|
-
exec_step 'prepare-docker-compose --directory pyxis-npm && cp docker-compose-qainit.yml docker-compose.yml'
|
2769
|
-
exec_step 'docker-compose build web'
|
2770
|
-
|
2771
|
-
exec_step "docker-compose run -w $PWD -u root -e NPM_TOKEN=$NPM_TOKEN --entrypoint /bin/sh web \
|
2772
|
-
'-c' 'npm view prima-assicurazioni/pyxis-npm versions --json > versions.json'" # posso recuperare le versioni pubblicate solo da dentro al container, scrivo su un file che leggo subito dopo
|
2773
|
-
published_versions = `cat versions.json`
|
2774
|
-
qa_versions = JSON.parse(published_versions).select{ |version| version.include? get_pyxis_version(deploy_id) }
|
2775
|
-
|
2776
|
-
@pyxis_version = "0.#{get_pyxis_version(deploy_id)}.#{qa_versions.size}"
|
2777
|
-
|
2778
|
-
`sed -i '3s/".*/"version": "#{@pyxis_version}",/' package.json`
|
2779
|
-
[
|
2780
|
-
"docker-compose run -w $PWD -u root -e NPM_TOKEN=$NPM_TOKEN --entrypoint /bin/sh web \
|
2781
|
-
'-c' 'yarn install && \
|
2782
|
-
yarn build:prod && \
|
2783
|
-
npm publish'"
|
2784
|
-
].each do |cmd|
|
2785
|
-
execute_command cmd
|
2786
|
-
end
|
2787
|
-
|
2788
|
-
cleanup_containers
|
2789
|
-
Dir.chdir '../../'
|
2790
|
-
end
|
2791
|
-
end
|
2792
|
-
|
2793
|
-
def get_pyxis_version(deploy_id)
|
2794
|
-
(deploy_id.delete '[a-z0]')[0..9]
|
2795
|
-
end
|
2796
|
-
|
2797
2744
|
def cleanup_containers
|
2798
2745
|
`docker-compose kill && docker-compose down -v --remove-orphans`
|
2799
2746
|
`docker rm $(docker ps -q -f status=exited)`
|
@@ -3157,11 +3104,4 @@ if args.include?('--help')
|
|
3157
3104
|
exit
|
3158
3105
|
end
|
3159
3106
|
|
3160
|
-
|
3161
|
-
if args.include?('no-gem-update')
|
3162
|
-
gem_update = false
|
3163
|
-
end
|
3164
|
-
|
3165
|
-
args.delete('no-gem-update')
|
3166
|
-
|
3167
|
-
Release.new(gem_update).execute!(args)
|
3107
|
+
Release.new.execute!(args)
|
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.50.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-
|
17
|
+
date: 2019-08-19 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: aws-sdk
|