prima-twig 0.59.2 → 0.59.3

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 +2 -211
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2abda8e5271eec5c976b6237737265ebc0d731a826752820bc20fe44e20c4df3
4
- data.tar.gz: 213b7bdca8578bc3670783246419ddbc6906b19138d2f99eccc45aeceb50db7c
3
+ metadata.gz: 2d55357225a9a27bfc68eed65238d3129674acef33a5803d1a62fc1a84b8d6c3
4
+ data.tar.gz: '08bef732687a6bd4637e6333f5214aaf5e23357df0fd9141f446e26a0dcff9f7'
5
5
  SHA512:
6
- metadata.gz: b14b4e65cdd4774cec9d696e781cedede149bc3802c6d20448f46b2658f5a68de821101df1db4d4c284c383bc42224e7b706862e04c9fe677790c686ed0e2d47
7
- data.tar.gz: d3e796bf5b63ea87da3f2d5c7d5360aacdb64340e6d86247d1b08c42e3bba2a586a6464c418c2a9f89a04930ce20432682d9f2142b47d389fcc6f51c29a285d9
6
+ metadata.gz: 046dd7e54f2be82c6618fe475dbc6f63b2feef68e99299df054b3dab949794449286059661c8946b35b871c312c4ea2a07cacc42daae7cc8345070a89bb93a8c
7
+ data.tar.gz: a0122c459f688bbf3059eed4384a3249d0ac448a84ecf05416de93472d32adf04a249d9b22643a6ef66430809a33ab730dd51cff7567f75dba49da39273e57fb
@@ -75,8 +75,6 @@ class Release
75
75
  qainit_deploy_update!
76
76
  elsif 'read' == args[1]
77
77
  qainit_read_config! args[2]
78
- elsif 'minimal' == args[1]
79
- qainit_minimal_deploy! args[2]
80
78
  else
81
79
  if args[1]
82
80
  select_branches(args[1..-1])
@@ -99,8 +97,6 @@ class Release
99
97
  deploy_update!
100
98
  elsif 'lock' == args[1]
101
99
  deploy_lock!
102
- elsif 'minimal' == args[1]
103
- qainit_drone_minimal_deploy!
104
100
  else
105
101
  if args[1]
106
102
  select_branches(args[1])
@@ -487,35 +483,6 @@ class Release
487
483
  git checkout master`
488
484
  end
489
485
 
490
- def qainit_minimal_deploy!(project)
491
- abort('L\'unico progetto permesso è prima') unless ['prima'].include? project
492
- project_definition = choose_branch_to_deploy(project)
493
-
494
- `git checkout master && git pull && git remote prune origin`
495
-
496
- default_name = project_definition[:name]
497
- output "Inserisci la feature a cui si riferisce il QA: [#{default_name}]".cyan
498
- feature_number = String(STDIN.gets.chomp)
499
- feature_number = default_name if feature_number.empty?
500
-
501
- if `git branch -l | grep #{feature_number}`.size > 0
502
- `git checkout #{feature_number} && git pull`
503
- else
504
- `git checkout -b #{feature_number}`
505
- end
506
-
507
- # così recupero le informazioni sul branch, poi vado a scrivere il file branch_names con una sola riga
508
- branch = {'project' => { 'name' => project_definition[:name], 'revision' => project_definition['revision'], 'default_branch' => project_definition[:default_branch]}}
509
-
510
- File.open('branch_names', 'w') { |file| file.write(JSON.generate(branch)) }
511
-
512
- `git add projects && \
513
- git add branch_names && \
514
- git commit -m 'minimal_#{feature_number}' && \
515
- git push --set-upstream origin #{feature_number} && \
516
- git checkout master`
517
- end
518
-
519
486
  def qainit_deploy_update!
520
487
  `git checkout master && git pull`
521
488
  # cancelliamo tutti i branch che non sono più sul repo remoto
@@ -554,11 +521,7 @@ class Release
554
521
 
555
522
  File.open('branch_names', 'w') { |file| file.write(JSON.generate(@projects)) }
556
523
 
557
- if `git log -1` =~ /minimal_/
558
- `git commit -am 'minimal_update'`
559
- else
560
- `git commit -am 'update'`
561
- end
524
+ `git commit -am 'update'`
562
525
  `git push && git checkout master`
563
526
  end
564
527
 
@@ -666,9 +629,6 @@ class Release
666
629
  when 'shutdown'
667
630
  output 'Shutting down'.green
668
631
  qainit_drone_shutdown!
669
- when 'minimal'
670
- output 'Starting minimal deploy'.green
671
- qainit_drone_minimal_deploy!
672
632
  else
673
633
  output 'Starting standard deploy'.green
674
634
  deploy_feature!
@@ -680,7 +640,6 @@ class Release
680
640
  `mkdir -p cloudformation/stacks/task cloudformation/stacks/route53 cloudformation/stacks/asg cloudformation/stacks/elb`
681
641
  @s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/task/db.yml', response_target: 'cloudformation/stacks/task/db.yml'})
682
642
  @s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/route53/qa.yml', response_target: 'cloudformation/stacks/route53/qa.yml'})
683
- @s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/route53/minimal_qa.yml', response_target: 'cloudformation/stacks/route53/minimal_qa.yml'})
684
643
  @s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/asg/ecs-asg-allinone.yml', response_target: 'cloudformation/stacks/asg/ecs-asg-allinone.yml'})
685
644
  @s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/ecs-cluster.yml', response_target: 'cloudformation/stacks/ecs-cluster.yml'})
686
645
  @s3.get_object({bucket: "prima-deploy", key: 'cloudformation/stacks/elb/alb-public-qa.yml', response_target: 'cloudformation/stacks/elb/alb-public-qa.yml'})
@@ -695,173 +654,6 @@ class Release
695
654
  end
696
655
  end
697
656
 
698
- def qainit_drone_minimal_deploy!
699
- # tenere solo il project da deployare (l'unico project è prima)
700
- @ami_id = get_ami_id("ecs-fleet-allinone-staging")
701
- project = ''
702
- @projects.each_key do |project_key|
703
- if @projects[project_key]['revision']
704
- project = project_key
705
- git_checkout_version(project_key, @projects[project_key]['revision'])
706
- end
707
- end
708
- deploy_id = get_deploy_id
709
-
710
- @git_branch = ENV['DRONE_BRANCH']
711
- @dns_record_identifier = deploy_id
712
- hostname_pattern_priority = hostname_pattern_priority()
713
- tags = [
714
- {
715
- key: "qainit",
716
- value: @git_branch
717
- },
718
- {
719
- key: project,
720
- value: @projects[project]['name']
721
- },
722
- {
723
- key: "hostname_pattern_priority",
724
- value: hostname_pattern_priority
725
- }
726
- ]
727
-
728
- cluster_stack_name = "ecs-cluster-qa-#{deploy_id}"
729
-
730
- if stack_exists?(cluster_stack_name)
731
- tags = get_stack_tags(cluster_stack_name)
732
- hostname_pattern_priority = tags.detect do |tag|
733
- tag.key == 'hostname_pattern_priority'
734
- end.value
735
- end
736
-
737
- stack_name_alb = @base_stack_name_alb + deploy_id[0..5]
738
- stack_name_alb_ws = @base_stack_name_alb_ws + deploy_id[0..5]
739
-
740
- create_cluster_stack(cluster_stack_name, tags) unless stack_exists?(cluster_stack_name)
741
- wait_for_stack_ready(cluster_stack_name) unless stack_ready?(cluster_stack_name)
742
-
743
- create_alb_stack(stack_name_alb, "http", deploy_id, 'qa-minimal') unless stack_exists?(stack_name_alb)
744
- create_alb_stack(stack_name_alb_ws, "websocket", deploy_id, 'qa-minimal') unless stack_exists?(stack_name_alb_ws)
745
-
746
- resp = describe_stack_resource(cluster_stack_name, 'ECSCluster')
747
- @ecs_cluster_name = resp.stack_resource_detail.physical_resource_id
748
-
749
- asg_stack_name = "ecs-asg-allinone-qa-#{deploy_id}"
750
- create_asg_stack(asg_stack_name, tags) unless stack_exists?(asg_stack_name)
751
-
752
- deploy_id = get_deploy_id
753
- create_pyxis_artifact(@projects["pyxis-npm"]['revision'], deploy_id)
754
- create_prima_artifact(@projects["prima"]['revision'], @projects["prima"]['name'], deploy_id, true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"]['revision']}.tar.gz")
755
-
756
- wait_for_stack_ready(stack_name_alb) unless stack_ready?(stack_name_alb)
757
- wait_for_stack_ready(stack_name_alb_ws) unless stack_ready?(stack_name_alb_ws)
758
-
759
- stack_name_route53 = "ecs-route53-qa-#{deploy_id}"
760
- stack_body = IO.read('cloudformation/stacks/route53/minimal_qa.yml')
761
- parameters = [
762
- {
763
- parameter_key: "DnsRecordIdentifier",
764
- parameter_value: @dns_record_identifier
765
- },
766
- {
767
- parameter_key: "PrimaElbHostname",
768
- parameter_value: get_alb_host(stack_name_alb)
769
- },
770
- {
771
- parameter_key: 'CrashElbHostname',
772
- parameter_value: get_alb_host(stack_name_alb_ws)
773
- }
774
- ]
775
-
776
- create_stack(stack_name_route53, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_route53)
777
- wait_for_stack_ready(stack_name_route53) unless stack_ready?(stack_name_route53)
778
-
779
- stack_name_web = "ecs-task-web-qa-#{deploy_id}"
780
- git_checkout_version('prima', @projects["prima"]['revision'])
781
- stack_body = IO.read('projects/prima/app/cloudformation/tasks/web.yml')
782
- parameters = [
783
- {
784
- parameter_key: "Environment",
785
- parameter_value: "qa-minimal"
786
- },
787
- {
788
- parameter_key: "ReleaseVersion",
789
- parameter_value: "#{@projects["prima"]['revision']}"
790
- },
791
- {
792
- parameter_key: "TaskDesiredCount",
793
- parameter_value: "1"
794
- },
795
- {
796
- parameter_key: "ECSClusterName",
797
- parameter_value: @ecs_cluster_name
798
- },
799
- {
800
- parameter_key: "ALBShortName",
801
- parameter_value: "web-qa-#{deploy_id}"[0..27]
802
- },
803
- {
804
- parameter_key: "WebQaBaseHostname",
805
- parameter_value: "#{@dns_record_identifier}.qa.colaster.com"
806
- },
807
- {
808
- parameter_key: "HostnamePattern",
809
- parameter_value: "ww*-#{@dns_record_identifier}.qa.colaster.com"
810
- },
811
- {
812
- parameter_key: "HostnamePatternPriority",
813
- parameter_value: hostname_pattern_priority
814
- },
815
- {
816
- parameter_key: "HostnamePatternAggregatorPriority",
817
- parameter_value: (hostname_pattern_priority.to_i + 1).to_s
818
- },
819
- {
820
- parameter_key: "EnvHash",
821
- parameter_value: deploy_id
822
- },
823
- {
824
- parameter_key: "AssangeHostname",
825
- parameter_value: "assange-#{@dns_record_identifier}.qa.colaster.com"
826
- },
827
- {
828
- parameter_key: "BackofficeHostname",
829
- parameter_value: "backoffice-#{@dns_record_identifier}.qa.colaster.com"
830
- },
831
- {
832
- parameter_key: "WebHostname",
833
- parameter_value: "www-#{@dns_record_identifier}.qa.colaster.com"
834
- },
835
- {
836
- parameter_key: "FePrimaDomain",
837
- parameter_value: "www-#{@dns_record_identifier}.qa.colaster.com"
838
- },
839
- {
840
- parameter_key: "HostnamePattern",
841
- parameter_value: "www-#{@dns_record_identifier}.qa.colaster.com"
842
- }
843
- ]
844
- if stack_exists?(stack_name_web)
845
- cur_version = get_currently_deployed_version(stack_name_web)
846
- update_stack(stack_name_web, stack_body, parameters, tags, @cf_role) unless cur_version.include?(@projects["prima"]['revision'])
847
- else
848
- create_stack(stack_name_web, stack_body, parameters, tags, @cf_role)
849
- end
850
- wait_for_stack_ready(stack_name_web) unless stack_ready?(stack_name_web)
851
- update_service_defaults(stack_name_web)
852
- prima_hostname = get_route53_hostname(stack_name_web)
853
-
854
- projects_text = "
855
- > Prima url: https://#{prima_hostname}
856
- > SSH connection: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no githubUsername@#{ec2_ip_address(asg_stack_name)}\n"
857
-
858
- output projects_text.cyan
859
- output "Deploy effettuato, everything is awesome!\n".green
860
- if @qainit
861
- qainit_write_output(projects_text, 'Indirizzi scritti su ')
862
- end
863
- end
864
-
865
657
  def deploy_feature!
866
658
  `git pull && git submodule init && git submodule update`
867
659
  @ami_id = get_ami_id("ecs-fleet-allinone-staging")
@@ -2577,7 +2369,7 @@ class Release
2577
2369
  Dir.chdir '../../'
2578
2370
  end
2579
2371
 
2580
- def create_prima_artifact(revision, branch_name, deploy_id, minimal = false)
2372
+ def create_prima_artifact(revision, branch_name, deploy_id)
2581
2373
  output "Preparo l'artifact prima .zip\n".yellow
2582
2374
 
2583
2375
  git_checkout_version('prima', revision)
@@ -3178,7 +2970,6 @@ Description
3178
2970
  finish finishes the feature by merging to dev and master
3179
2971
  qainit deploys a new environment with selected branches from every project
3180
2972
  qainit $PROJECT_NAME deploys a new environment allowing to selected a branch from the input project (everything else is master)
3181
- qainit minimal prima deploys a new copy of prima project, using staging microservices and database
3182
2973
  qainit shutdown deletes a specific qa environment
3183
2974
 
3184
2975
  Available only to devops (from artemide)
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.59.2
4
+ version: 0.59.3
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-11-26 00:00:00.000000000 Z
17
+ date: 2019-12-13 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  requirements: []
217
- rubygems_version: 3.0.3
217
+ rubygems_version: 3.0.1
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: The Prima twig toolbelt