prima-twig 0.4.8 → 0.5.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.
- checksums.yaml +4 -4
 - data/bin/twig-feature +85 -3
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f54c6294a8d6de1afd936fe4dd23546e8c0892e0
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b90237bce967822e05fc8a4ff175021813e4928f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 753ffa07d4ba39a557fba62a6fc43f72aa2153668a38a4520333f04a0b1507358eedebcdb5f25d5c684ba19d49e28f36127cd689d1315392ea1f536f8431fc9d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: bac86029a4ba70b17070a256aae56a705407c4eae60b966380d8f02e7422a1c16d81dc211dbc2b32dfc8d7b9ea11e27f3c440fa7721d0a2e442fcafa7195f9fd
         
     | 
    
        data/bin/twig-feature
    CHANGED
    
    | 
         @@ -22,6 +22,8 @@ class Release 
     | 
|
| 
       22 
22 
     | 
    
         
             
                @import_db_task = 'arn:aws:ecs:eu-west-1:001575623345:task-definition/ecs-task-db-restore-TaskDefinitionDbRestore-8A9N41PAYMJ2:1'
         
     | 
| 
       23 
23 
     | 
    
         
             
                @prima_built = false
         
     | 
| 
       24 
24 
     | 
    
         
             
                @urania_built = false
         
     | 
| 
      
 25 
     | 
    
         
            +
                @ermes_built = false
         
     | 
| 
      
 26 
     | 
    
         
            +
                @bburago_built = false
         
     | 
| 
       25 
27 
     | 
    
         
             
                @backoffice_built = false
         
     | 
| 
       26 
28 
     | 
    
         
             
                @dns_record_identifier = nil
         
     | 
| 
       27 
29 
     | 
    
         
             
                @ecs_cluster_name = nil
         
     | 
| 
         @@ -119,15 +121,16 @@ class Release 
     | 
|
| 
       119 
121 
     | 
    
         | 
| 
       120 
122 
     | 
    
         
             
              def deploy_feature!
         
     | 
| 
       121 
123 
     | 
    
         
             
                `sudo true` # cosi' non chiede la password dopo
         
     | 
| 
       122 
     | 
    
         
            -
                `git pull`
         
     | 
| 
      
 124 
     | 
    
         
            +
                `git pull && git submodule init && git submodule update`
         
     | 
| 
       123 
125 
     | 
    
         
             
                prima_branch = choose_branch_to_deploy('prima')
         
     | 
| 
       124 
126 
     | 
    
         
             
                backoffice_branch = choose_branch_to_deploy('backoffice')
         
     | 
| 
       125 
127 
     | 
    
         
             
                urania_branch = choose_branch_to_deploy('urania')
         
     | 
| 
       126 
128 
     | 
    
         
             
                ermes_branch = choose_branch_to_deploy('ermes')
         
     | 
| 
      
 129 
     | 
    
         
            +
                bburago_branch = choose_branch_to_deploy('bburago')
         
     | 
| 
       127 
130 
     | 
    
         
             
                socket_branch = {name: "master"}
         
     | 
| 
       128 
131 
     | 
    
         
             
                pamela_branch = {name: "master"}
         
     | 
| 
       129 
132 
     | 
    
         | 
| 
       130 
     | 
    
         
            -
                @dns_record_identifier = "#{@prima.clean_branch_name(prima_branch[:name])}-#{@prima.clean_branch_name(backoffice_branch[:name])}-#{@prima.clean_branch_name(urania_branch[:name])}-#{@prima.clean_branch_name(ermes_branch[:name])}".gsub(/feature./, '')[0..35].gsub(/(-+$)/, '')
         
     | 
| 
      
 133 
     | 
    
         
            +
                @dns_record_identifier = "#{@prima.clean_branch_name(prima_branch[:name])}-#{@prima.clean_branch_name(backoffice_branch[:name])}-#{@prima.clean_branch_name(urania_branch[:name])}-#{@prima.clean_branch_name(ermes_branch[:name])}-#{@prima.clean_branch_name(bburago_branch[:name])}".gsub(/feature./, '')[0..35].gsub(/(-+$)/, '')
         
     | 
| 
       131 
134 
     | 
    
         | 
| 
       132 
135 
     | 
    
         
             
                tags = [
         
     | 
| 
       133 
136 
     | 
    
         
             
                  {
         
     | 
| 
         @@ -145,10 +148,14 @@ class Release 
     | 
|
| 
       145 
148 
     | 
    
         
             
                  {
         
     | 
| 
       146 
149 
     | 
    
         
             
                    key: "ermes",
         
     | 
| 
       147 
150 
     | 
    
         
             
                    value: ermes_branch[:name]
         
     | 
| 
      
 151 
     | 
    
         
            +
                  },
         
     | 
| 
      
 152 
     | 
    
         
            +
                  {
         
     | 
| 
      
 153 
     | 
    
         
            +
                    key: "bburago",
         
     | 
| 
      
 154 
     | 
    
         
            +
                    value: bburago_branch[:name]
         
     | 
| 
       148 
155 
     | 
    
         
             
                  }
         
     | 
| 
       149 
156 
     | 
    
         
             
                ]
         
     | 
| 
       150 
157 
     | 
    
         | 
| 
       151 
     | 
    
         
            -
                deploy_id = Digest::MD5.hexdigest(prima_branch[:name] + backoffice_branch[:name] + urania_branch[:name] + socket_branch[:name] + pamela_branch[:name] + ermes_branch[:name])
         
     | 
| 
      
 158 
     | 
    
         
            +
                deploy_id = Digest::MD5.hexdigest(prima_branch[:name] + backoffice_branch[:name] + urania_branch[:name] + socket_branch[:name] + pamela_branch[:name] + ermes_branch[:name] + bburago_branch[:name])
         
     | 
| 
       152 
159 
     | 
    
         | 
| 
       153 
160 
     | 
    
         
             
                cluster_stack_name = "ecs-cluster-qa-#{deploy_id}"
         
     | 
| 
       154 
161 
     | 
    
         
             
                create_cluster_stack(cluster_stack_name, tags) unless stack_exists?(cluster_stack_name)
         
     | 
| 
         @@ -177,6 +184,7 @@ class Release 
     | 
|
| 
       177 
184 
     | 
    
         
             
                create_prima_artifact(prima_branch[:revision], prima_branch[:name]) unless artifact_exists?('prima-artifacts', "prima/#{prima_branch[:revision]}")
         
     | 
| 
       178 
185 
     | 
    
         
             
                create_urania_artifact(urania_branch[:revision]) unless artifact_exists?('prima-artifacts', "microservices/urania/#{urania_branch[:revision]}-qa.tar.gz")
         
     | 
| 
       179 
186 
     | 
    
         
             
                create_ermes_artifact(ermes_branch[:revision]) unless artifact_exists?('prima-artifacts', "microservices/ermes/ermes_#{ermes_branch[:revision]}.tar.gz")
         
     | 
| 
      
 187 
     | 
    
         
            +
                create_bburago_artifact(bburago_branch[:revision]) unless artifact_exists?('prima-artifacts', "microservices/bburago/bburago_#{bburago_branch[:revision]}.tar.gz")
         
     | 
| 
       180 
188 
     | 
    
         
             
                create_backoffice_artifact(backoffice_branch[:revision], deploy_id) unless artifact_exists?('prima-artifacts', "backoffice/#{backoffice_branch[:revision]}-#{deploy_id}.zip")
         
     | 
| 
       181 
189 
     | 
    
         | 
| 
       182 
190 
     | 
    
         
             
                wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db)
         
     | 
| 
         @@ -283,6 +291,33 @@ class Release 
     | 
|
| 
       283 
291 
     | 
    
         
             
                  create_stack(stack_name_ermes, stack_body, parameters, tags)
         
     | 
| 
       284 
292 
     | 
    
         
             
                end
         
     | 
| 
       285 
293 
     | 
    
         | 
| 
      
 294 
     | 
    
         
            +
                stack_name_bburago = "ecs-task-bburago-qa-#{deploy_id}"
         
     | 
| 
      
 295 
     | 
    
         
            +
                git_checkout_version('bburago', bburago_branch[:revision])
         
     | 
| 
      
 296 
     | 
    
         
            +
                stack_body = IO.read('projects/bburago/deploy/task.json')
         
     | 
| 
      
 297 
     | 
    
         
            +
                parameters = [
         
     | 
| 
      
 298 
     | 
    
         
            +
                  {
         
     | 
| 
      
 299 
     | 
    
         
            +
                    parameter_key: "Environment",
         
     | 
| 
      
 300 
     | 
    
         
            +
                    parameter_value: "qa"
         
     | 
| 
      
 301 
     | 
    
         
            +
                  },
         
     | 
| 
      
 302 
     | 
    
         
            +
                  {
         
     | 
| 
      
 303 
     | 
    
         
            +
                    parameter_key: "ReleaseVersion",
         
     | 
| 
      
 304 
     | 
    
         
            +
                    parameter_value: bburago_branch[:revision]
         
     | 
| 
      
 305 
     | 
    
         
            +
                  },
         
     | 
| 
      
 306 
     | 
    
         
            +
                  {
         
     | 
| 
      
 307 
     | 
    
         
            +
                    parameter_key: "ECSClusterName",
         
     | 
| 
      
 308 
     | 
    
         
            +
                    parameter_value: @ecs_cluster_name
         
     | 
| 
      
 309 
     | 
    
         
            +
                  },
         
     | 
| 
      
 310 
     | 
    
         
            +
                  {
         
     | 
| 
      
 311 
     | 
    
         
            +
                    parameter_key: "TaskDesiredCount",
         
     | 
| 
      
 312 
     | 
    
         
            +
                    parameter_value: "1"
         
     | 
| 
      
 313 
     | 
    
         
            +
                  }
         
     | 
| 
      
 314 
     | 
    
         
            +
                ]
         
     | 
| 
      
 315 
     | 
    
         
            +
                if stack_exists?(stack_name_bburago)
         
     | 
| 
      
 316 
     | 
    
         
            +
                  update_stack(stack_name_bburago, stack_body, parameters) if @bburago_built
         
     | 
| 
      
 317 
     | 
    
         
            +
                else
         
     | 
| 
      
 318 
     | 
    
         
            +
                  create_stack(stack_name_bburago, stack_body, parameters, tags)
         
     | 
| 
      
 319 
     | 
    
         
            +
                end
         
     | 
| 
      
 320 
     | 
    
         
            +
             
     | 
| 
       286 
321 
     | 
    
         
             
                git_checkout_version('backoffice', backoffice_branch[:revision])
         
     | 
| 
       287 
322 
     | 
    
         
             
                stack_name_backoffice = "ecs-task-backoffice-qa-#{deploy_id}"
         
     | 
| 
       288 
323 
     | 
    
         
             
                stack_body = IO.read('projects/backoffice/deploy/task.json')
         
     | 
| 
         @@ -315,12 +350,14 @@ class Release 
     | 
|
| 
       315 
350 
     | 
    
         
             
                wait_for_stack_ready(stack_name_urania) unless stack_ready?(stack_name_urania)
         
     | 
| 
       316 
351 
     | 
    
         
             
                wait_for_stack_ready(stack_name_backoffice) unless stack_ready?(stack_name_backoffice)
         
     | 
| 
       317 
352 
     | 
    
         
             
                wait_for_stack_ready(stack_name_ermes) unless stack_ready?(stack_name_ermes)
         
     | 
| 
      
 353 
     | 
    
         
            +
                wait_for_stack_ready(stack_name_bburago) unless stack_ready?(stack_name_bburago)
         
     | 
| 
       318 
354 
     | 
    
         | 
| 
       319 
355 
     | 
    
         
             
                update_service_defaults(stack_name_web)
         
     | 
| 
       320 
356 
     | 
    
         
             
                update_service_defaults(stack_name_consumer)
         
     | 
| 
       321 
357 
     | 
    
         
             
                update_service_defaults(stack_name_urania)
         
     | 
| 
       322 
358 
     | 
    
         
             
                update_service_defaults(stack_name_backoffice)
         
     | 
| 
       323 
359 
     | 
    
         
             
                update_service_defaults(stack_name_ermes)
         
     | 
| 
      
 360 
     | 
    
         
            +
                update_service_defaults(stack_name_bburago)
         
     | 
| 
       324 
361 
     | 
    
         | 
| 
       325 
362 
     | 
    
         
             
                stack_name_route53 = "ecs-route53-qa-#{deploy_id}"
         
     | 
| 
       326 
363 
     | 
    
         
             
                stack_body = IO.read('cloudformation/stacks/route53/qa.json')
         
     | 
| 
         @@ -340,12 +377,17 @@ class Release 
     | 
|
| 
       340 
377 
     | 
    
         
             
                  {
         
     | 
| 
       341 
378 
     | 
    
         
             
                    parameter_key: "UraniaElbHostname",
         
     | 
| 
       342 
379 
     | 
    
         
             
                    parameter_value: get_elb_host(stack_name_urania)
         
     | 
| 
      
 380 
     | 
    
         
            +
                  },
         
     | 
| 
      
 381 
     | 
    
         
            +
                  {
         
     | 
| 
      
 382 
     | 
    
         
            +
                    parameter_key: "BburagoElbHostname",
         
     | 
| 
      
 383 
     | 
    
         
            +
                    parameter_value: get_elb_host(stack_name_bburago)
         
     | 
| 
       343 
384 
     | 
    
         
             
                  }
         
     | 
| 
       344 
385 
     | 
    
         
             
                ]
         
     | 
| 
       345 
386 
     | 
    
         
             
                create_stack(stack_name_route53, stack_body, parameters, tags) unless stack_exists?(stack_name_route53)
         
     | 
| 
       346 
387 
     | 
    
         | 
| 
       347 
388 
     | 
    
         
             
                prima_hostname = get_route53_hostname(stack_name_web)
         
     | 
| 
       348 
389 
     | 
    
         
             
                urania_hostname = get_route53_hostname(stack_name_urania)
         
     | 
| 
      
 390 
     | 
    
         
            +
                bburago_hostname = get_route53_hostname(stack_name_bburago)
         
     | 
| 
       349 
391 
     | 
    
         
             
                backoffice_hostname = get_route53_hostname(stack_name_backoffice)
         
     | 
| 
       350 
392 
     | 
    
         | 
| 
       351 
393 
     | 
    
         
             
                wait_for_stack_ready(stack_name_route53) unless stack_ready?(stack_name_route53)
         
     | 
| 
         @@ -353,6 +395,7 @@ class Release 
     | 
|
| 
       353 
395 
     | 
    
         
             
                output "Prima url: #{prima_hostname}\n".cyan
         
     | 
| 
       354 
396 
     | 
    
         
             
                output "Urania url: #{urania_hostname}\n".cyan
         
     | 
| 
       355 
397 
     | 
    
         
             
                output "Backoffice url: #{backoffice_hostname}\n".cyan
         
     | 
| 
      
 398 
     | 
    
         
            +
                output "Bburago url: #{bburago_hostname}\n".cyan
         
     | 
| 
       356 
399 
     | 
    
         
             
                output "SSH connection: ssh ec2-user@#{ec2_ip_address(asg_stack_name)} -i ~/.ssh/ecs-cluster-qa.pem".cyan
         
     | 
| 
       357 
400 
     | 
    
         
             
                output "Deploy effettuato, everything is awesome!\n".green
         
     | 
| 
       358 
401 
     | 
    
         
             
              end
         
     | 
| 
         @@ -365,6 +408,8 @@ class Release 
     | 
|
| 
       365 
408 
     | 
    
         
             
                  host = "urania.#{@dns_record_identifier}.qa.colaster.com"
         
     | 
| 
       366 
409 
     | 
    
         
             
                when stack_name.include?('backoffice')
         
     | 
| 
       367 
410 
     | 
    
         
             
                  host = "backoffice.#{@dns_record_identifier}.qa.colaster.com"
         
     | 
| 
      
 411 
     | 
    
         
            +
                when stack_name.include?('bburago')
         
     | 
| 
      
 412 
     | 
    
         
            +
                  host = "bburago.#{@dns_record_identifier}.qa.colaster.com"
         
     | 
| 
       368 
413 
     | 
    
         
             
                end
         
     | 
| 
       369 
414 
     | 
    
         
             
                host
         
     | 
| 
       370 
415 
     | 
    
         
             
              end
         
     | 
| 
         @@ -391,6 +436,8 @@ class Release 
     | 
|
| 
       391 
436 
     | 
    
         
             
                  logical_resource_id = 'EcsElasticLoadBalancerInternal'
         
     | 
| 
       392 
437 
     | 
    
         
             
                when stack_name.include?('backoffice')
         
     | 
| 
       393 
438 
     | 
    
         
             
                  logical_resource_id = 'EcsElasticLoadBalancerPublic'
         
     | 
| 
      
 439 
     | 
    
         
            +
                when stack_name.include?('bburago')
         
     | 
| 
      
 440 
     | 
    
         
            +
                  logical_resource_id = 'EcsElasticLoadBalancerInternal'
         
     | 
| 
       394 
441 
     | 
    
         
             
                end
         
     | 
| 
       395 
442 
     | 
    
         
             
                resp = @cf.describe_stack_resource({
         
     | 
| 
       396 
443 
     | 
    
         
             
                  stack_name: stack_name,
         
     | 
| 
         @@ -415,6 +462,8 @@ class Release 
     | 
|
| 
       415 
462 
     | 
    
         
             
                  logical_resource_id = 'ECSServiceBackoffice'
         
     | 
| 
       416 
463 
     | 
    
         
             
                when stack_name.include?('ermes')
         
     | 
| 
       417 
464 
     | 
    
         
             
                  logical_resource_id = 'ECSServiceErmes'
         
     | 
| 
      
 465 
     | 
    
         
            +
                when stack_name.include?('bburago')
         
     | 
| 
      
 466 
     | 
    
         
            +
                  logical_resource_id = 'ECSServiceBburago'
         
     | 
| 
       418 
467 
     | 
    
         
             
                else
         
     | 
| 
       419 
468 
     | 
    
         
             
                  raise "Service name non gestito per lo stack #{stack_name}"
         
     | 
| 
       420 
469 
     | 
    
         
             
                end
         
     | 
| 
         @@ -498,6 +547,39 @@ class Release 
     | 
|
| 
       498 
547 
     | 
    
         
             
                Dir.chdir '../../'
         
     | 
| 
       499 
548 
     | 
    
         
             
              end
         
     | 
| 
       500 
549 
     | 
    
         | 
| 
      
 550 
     | 
    
         
            +
              def create_bburago_artifact(revision)
         
     | 
| 
      
 551 
     | 
    
         
            +
                @bburago_built = true
         
     | 
| 
      
 552 
     | 
    
         
            +
                output "Preparo l'artifact .zip\n".yellow
         
     | 
| 
      
 553 
     | 
    
         
            +
             
     | 
| 
      
 554 
     | 
    
         
            +
                git_checkout_version('bburago', revision)
         
     | 
| 
      
 555 
     | 
    
         
            +
             
     | 
| 
      
 556 
     | 
    
         
            +
                Dir.chdir 'projects/bburago'
         
     | 
| 
      
 557 
     | 
    
         
            +
             
     | 
| 
      
 558 
     | 
    
         
            +
                [
         
     | 
| 
      
 559 
     | 
    
         
            +
                  "docker-compose build web",
         
     | 
| 
      
 560 
     | 
    
         
            +
                  "docker run -v $PWD:/code -w /code -e MIX_ENV=qa --entrypoint /bin/sh bburago_web \
         
     | 
| 
      
 561 
     | 
    
         
            +
                  '-c' 'mix local.hex --force && mix hex.info && \
         
     | 
| 
      
 562 
     | 
    
         
            +
                  mix deps.get && mix compile && mix deps.compile && \
         
     | 
| 
      
 563 
     | 
    
         
            +
                  mix release.clean --implode --no-confirm && mix release'",
         
     | 
| 
      
 564 
     | 
    
         
            +
                  "sudo chown -R `whoami` ."
         
     | 
| 
      
 565 
     | 
    
         
            +
                ].each do |cmd|
         
     | 
| 
      
 566 
     | 
    
         
            +
                  output "Eseguo #{cmd}".yellow
         
     | 
| 
      
 567 
     | 
    
         
            +
                  res = %x[ #{cmd} ]
         
     | 
| 
      
 568 
     | 
    
         
            +
                  if $?.exitstatus != 0
         
     | 
| 
      
 569 
     | 
    
         
            +
                    color = 'red'
         
     | 
| 
      
 570 
     | 
    
         
            +
                  else
         
     | 
| 
      
 571 
     | 
    
         
            +
                    color = 'green'
         
     | 
| 
      
 572 
     | 
    
         
            +
                  end
         
     | 
| 
      
 573 
     | 
    
         
            +
                  output res.send color
         
     | 
| 
      
 574 
     | 
    
         
            +
                  stop_if (color == 'red'), "Errore durante la build dell'artifact".red
         
     | 
| 
      
 575 
     | 
    
         
            +
                end
         
     | 
| 
      
 576 
     | 
    
         
            +
             
     | 
| 
      
 577 
     | 
    
         
            +
                artifact_path = Dir.glob("rel/bburago/releases/*/bburago.tar.gz").first
         
     | 
| 
      
 578 
     | 
    
         
            +
                upload_artifact(artifact_path, "microservices/bburago/bburago_#{revision}.tar.gz")
         
     | 
| 
      
 579 
     | 
    
         
            +
             
     | 
| 
      
 580 
     | 
    
         
            +
                Dir.chdir '../../'
         
     | 
| 
      
 581 
     | 
    
         
            +
              end
         
     | 
| 
      
 582 
     | 
    
         
            +
             
     | 
| 
       501 
583 
     | 
    
         
             
              def create_backoffice_artifact(revision, deploy_id)
         
     | 
| 
       502 
584 
     | 
    
         
             
                @backoffice_built = true
         
     | 
| 
       503 
585 
     | 
    
         
             
                output "Preparo l'artifact .zip\n".yellow
         
     | 
    
        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.5.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Matteo Giachino
         
     | 
| 
         @@ -11,7 +11,7 @@ authors: 
     | 
|
| 
       11 
11 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       13 
13 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       14 
     | 
    
         
            -
            date: 2016-06- 
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2016-06-28 00:00:00.000000000 Z
         
     | 
| 
       15 
15 
     | 
    
         
             
            dependencies:
         
     | 
| 
       16 
16 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       17 
17 
     | 
    
         
             
              name: twig
         
     |