prima-twig 0.7.2 → 0.8.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-deploy +16 -5
- data/bin/twig-feature +43 -4
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c68058d4453c6c9021a7adfbd8184bc838065d74
|
4
|
+
data.tar.gz: d66653ddd6d0dc3a7f8a368800ce31751e83147a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ff2d4c19fc2cac769d96b846962e0ea2a72da680beac4009ed2e17a77b441441289d549964be5c1ecc0d00d3e510ced4491c3b96c2618fd2e7c4409b077bdd8
|
7
|
+
data.tar.gz: 8dc16ca874d3768d829beca895813dd90171bf473e6a037f8064d0883cc3a2061f7996c4b4070a6b567dfe623a29f4182f28eb7e4cfd72e1d7a5f799b7152654
|
data/bin/twig-deploy
CHANGED
@@ -97,13 +97,15 @@ class Review
|
|
97
97
|
subject "#{user} ha effettuato il deploy della revision #{artifact[:rev]}"
|
98
98
|
end
|
99
99
|
|
100
|
+
commit_msg = clean_commit_message(artifact[:commit_msg])
|
101
|
+
|
100
102
|
body = "## Deploy in produzione effettuato con successo\n\n"
|
101
103
|
body << "Data: #{Time.now.strftime('%d/%m/%Y %H:%M:%S')}\n\n"
|
102
104
|
body << "Utente: #{user}\n\n"
|
103
105
|
body << "Revision: [#{artifact[:rev]}](https://github.com/primait/prima/commit/#{artifact[:rev]}) del #{artifact[:created_at].strftime('%d/%m/%Y %H:%M:%S')}\n\n"
|
104
106
|
body << "Branch: [#{artifact[:branch]}](https://github.com/primait/prima/tree/#{artifact[:branch]})\n\n"
|
105
|
-
body << "Commit: #{
|
106
|
-
body << "Screenshots (tra qualche minuto): [BrowserStack](https://www.browserstack.com/automate) (Filtrare per: \"#{
|
107
|
+
body << "Commit: #{commit_msg.gsub(/_/, '\_')}\n\n"
|
108
|
+
body << "Screenshots (tra qualche minuto): [BrowserStack](https://www.browserstack.com/automate) (Filtrare per: \"#{get_paparatzinger_job_name(commit_msg).gsub(/_/, '\_')}\")"
|
107
109
|
|
108
110
|
htmlBody = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new).render body
|
109
111
|
|
@@ -214,9 +216,7 @@ class Review
|
|
214
216
|
|
215
217
|
paparatzinger_config = YAML.load_file '/tmp/paparatzinger_twig.yml'
|
216
218
|
|
217
|
-
job_name
|
218
|
-
job_name.gsub! /from primait\/feature\//i, ''
|
219
|
-
job_name[0..99].gsub! /[^0-9a-z]/i, '\_'
|
219
|
+
job_name = get_paparatzinger_job_name(clean_commit_message(job_name))
|
220
220
|
|
221
221
|
logical_resource_id = 'TaskDefinitionPaparatzinger'
|
222
222
|
resp = @cf.describe_stack_resource({
|
@@ -257,4 +257,15 @@ class Review
|
|
257
257
|
|
258
258
|
end
|
259
259
|
|
260
|
+
def clean_commit_message(commit_msg)
|
261
|
+
commit_msg.gsub! /Merge pull request /i, ''
|
262
|
+
commit_msg.gsub! /from primait\/feature\//i, ''
|
263
|
+
commit_msg = commit_msg[/.+?\(#\d+\)/m] unless commit_msg[/.+?\(#\d+\)/m].nil? # rimuove tutto quello che sta dopo la fine del numero di issue
|
264
|
+
commit_msg[0..99]
|
265
|
+
end
|
266
|
+
|
267
|
+
def get_paparatzinger_job_name(job_name)
|
268
|
+
job_name.gsub /[^0-9a-z]/i, '-'
|
269
|
+
end
|
270
|
+
|
260
271
|
Review.new.execute! args
|
data/bin/twig-feature
CHANGED
@@ -13,6 +13,7 @@ class Release
|
|
13
13
|
@prima = Prima.new
|
14
14
|
@cf = Aws::CloudFormation::Client.new
|
15
15
|
@elb = Aws::ElasticLoadBalancing::Client.new
|
16
|
+
@alb = Aws::ElasticLoadBalancingV2::Client.new
|
16
17
|
@ec2 = Aws::EC2::Client.new
|
17
18
|
@ecs = Aws::ECS::Client.new
|
18
19
|
@s3 = Aws::S3::Client.new
|
@@ -210,6 +211,10 @@ class Release
|
|
210
211
|
{
|
211
212
|
parameter_key: "ECSClusterName",
|
212
213
|
parameter_value: @ecs_cluster_name
|
214
|
+
},
|
215
|
+
{
|
216
|
+
parameter_key: "ALBShortName",
|
217
|
+
parameter_value: "ecs-task-web-qa-#{deploy_id}"[0..31]
|
213
218
|
}
|
214
219
|
]
|
215
220
|
if stack_exists?(stack_name_web)
|
@@ -260,6 +265,10 @@ class Release
|
|
260
265
|
{
|
261
266
|
parameter_key: "ECSClusterName",
|
262
267
|
parameter_value: @ecs_cluster_name
|
268
|
+
},
|
269
|
+
{
|
270
|
+
parameter_key: "ALBShortName",
|
271
|
+
parameter_value: "ecs-task-urania-qa-#{deploy_id}"[0..31]
|
263
272
|
}
|
264
273
|
]
|
265
274
|
if stack_exists?(stack_name_urania)
|
@@ -310,6 +319,10 @@ class Release
|
|
310
319
|
{
|
311
320
|
parameter_key: "TaskDesiredCount",
|
312
321
|
parameter_value: "1"
|
322
|
+
},
|
323
|
+
{
|
324
|
+
parameter_key: "ALBShortName",
|
325
|
+
parameter_value: "ecs-task-bburago-qa-#{deploy_id}"[0..31]
|
313
326
|
}
|
314
327
|
]
|
315
328
|
if stack_exists?(stack_name_bburago)
|
@@ -337,6 +350,10 @@ class Release
|
|
337
350
|
{
|
338
351
|
parameter_key: "ECSClusterName",
|
339
352
|
parameter_value: @ecs_cluster_name
|
353
|
+
},
|
354
|
+
{
|
355
|
+
parameter_key: "ALBShortName",
|
356
|
+
parameter_value: "ecs-task-backoffice-qa-#{deploy_id}"[0..31]
|
340
357
|
}
|
341
358
|
]
|
342
359
|
if stack_exists?(stack_name_backoffice)
|
@@ -368,19 +385,19 @@ class Release
|
|
368
385
|
},
|
369
386
|
{
|
370
387
|
parameter_key: "PrimaElbHostname",
|
371
|
-
parameter_value:
|
388
|
+
parameter_value: get_alb_host(stack_name_web)
|
372
389
|
},
|
373
390
|
{
|
374
391
|
parameter_key: "BackofficeElbHostname",
|
375
|
-
parameter_value:
|
392
|
+
parameter_value: get_alb_host(stack_name_backoffice)
|
376
393
|
},
|
377
394
|
{
|
378
395
|
parameter_key: "UraniaElbHostname",
|
379
|
-
parameter_value:
|
396
|
+
parameter_value: get_alb_host(stack_name_urania)
|
380
397
|
},
|
381
398
|
{
|
382
399
|
parameter_key: "BburagoElbHostname",
|
383
|
-
parameter_value:
|
400
|
+
parameter_value: get_alb_host(stack_name_bburago)
|
384
401
|
}
|
385
402
|
]
|
386
403
|
create_stack(stack_name_route53, stack_body, parameters, tags) unless stack_exists?(stack_name_route53)
|
@@ -428,6 +445,28 @@ class Release
|
|
428
445
|
resp.reservations[0].instances[0].private_ip_address
|
429
446
|
end
|
430
447
|
|
448
|
+
def get_alb_host(stack_name)
|
449
|
+
case
|
450
|
+
when stack_name.include?('web')
|
451
|
+
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
452
|
+
when stack_name.include?('urania')
|
453
|
+
logical_resource_id = 'EcsApplicationLoadBalancerInternal'
|
454
|
+
when stack_name.include?('backoffice')
|
455
|
+
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
456
|
+
when stack_name.include?('bburago')
|
457
|
+
logical_resource_id = 'EcsApplicationLoadBalancerInternal'
|
458
|
+
end
|
459
|
+
resp = @cf.describe_stack_resource({
|
460
|
+
stack_name: stack_name,
|
461
|
+
logical_resource_id: logical_resource_id
|
462
|
+
})
|
463
|
+
pp resp.stack_resource_detail.physical_resource_id
|
464
|
+
resp = @alb.describe_load_balancers({
|
465
|
+
load_balancer_arns: [resp.stack_resource_detail.physical_resource_id]
|
466
|
+
})
|
467
|
+
resp.load_balancers[0].dns_name
|
468
|
+
end
|
469
|
+
|
431
470
|
def get_elb_host(stack_name)
|
432
471
|
case
|
433
472
|
when stack_name.include?('web')
|
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.8.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-
|
14
|
+
date: 2016-09-06 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: twig
|
@@ -142,23 +142,23 @@ dependencies:
|
|
142
142
|
description: Our tools to manage git and github
|
143
143
|
email: matteo.giachino@prima.it
|
144
144
|
executables:
|
145
|
-
- twig-open-pr
|
146
|
-
- twig-review
|
147
145
|
- twig-circle
|
148
|
-
- twig-pick-issue
|
149
|
-
- twig-hotfix
|
150
146
|
- twig-deploy
|
151
147
|
- twig-feature
|
148
|
+
- twig-hotfix
|
149
|
+
- twig-open-pr
|
150
|
+
- twig-pick-issue
|
151
|
+
- twig-review
|
152
152
|
extensions: []
|
153
153
|
extra_rdoc_files: []
|
154
154
|
files:
|
155
|
-
- bin/twig-open-pr
|
156
|
-
- bin/twig-review
|
157
155
|
- bin/twig-circle
|
158
|
-
- bin/twig-pick-issue
|
159
|
-
- bin/twig-hotfix
|
160
156
|
- bin/twig-deploy
|
161
157
|
- bin/twig-feature
|
158
|
+
- bin/twig-hotfix
|
159
|
+
- bin/twig-open-pr
|
160
|
+
- bin/twig-pick-issue
|
161
|
+
- bin/twig-review
|
162
162
|
- lib/command.rb
|
163
163
|
- lib/prima_twig.rb
|
164
164
|
homepage: http://rubygems.org/gems/prima-twig
|
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
183
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.
|
184
|
+
rubygems_version: 2.5.1
|
185
185
|
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: The Prima twig toolbelt
|