prima-twig 0.2.14 → 0.2.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/twig-deploy +5 -5
- data/bin/twig-feature +44 -7
- 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: 7e461bd2975f9c5c3ebe5ac22894efcf993aef12
|
4
|
+
data.tar.gz: ea2a3b971ef09a6d4f73c90121360f1f03fa4200
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 370d6fb95c1723b2cd2a30c16b564f35a28cccecf5ff3ffa825179e18ab20731830d274d66dfde78466f2a0fc72bff46243634efa87b98a24fbd31ec3ff29d63
|
7
|
+
data.tar.gz: e56af2ff3aebb0314955ddb63c5cb58146dd4aeebf9027ece63792dc7331cfe6446a45c599969664a4d16cc7d4ab0a445e35b87c3a00a2ec4cb386e73238a66e
|
data/bin/twig-deploy
CHANGED
@@ -78,11 +78,11 @@ class Review
|
|
78
78
|
subject "#{user} ha effettuato il deploy della revision #{artifact[:rev]}"
|
79
79
|
end
|
80
80
|
|
81
|
-
body = "
|
82
|
-
body << "
|
83
|
-
body << "
|
84
|
-
body << "
|
85
|
-
body << "
|
81
|
+
body = "## Deploy in produzione iniziato\n\n"
|
82
|
+
body << "Data: #{Time.now.strftime('%d/%m/%Y %H:%M:%S')}\n\n"
|
83
|
+
body << "Utente: #{user}\n\n"
|
84
|
+
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"
|
85
|
+
body << "Branch: [#{artifact[:branch]}](https://github.com/primait/prima/tree/#{artifact[:branch]})\n"
|
86
86
|
|
87
87
|
htmlBody = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new).render body
|
88
88
|
|
data/bin/twig-feature
CHANGED
@@ -90,10 +90,21 @@ class Release
|
|
90
90
|
if environment_exists?(@application_name, @environment_name)
|
91
91
|
is_eb_ready = is_eb_ready?(@application_name, @environment_name)
|
92
92
|
wait_for_eb_ready(@application_name, @environment_name) unless is_eb_ready
|
93
|
-
@eb.
|
94
|
-
|
93
|
+
@eb.update_environment({
|
94
|
+
environment_name: @environment_name,
|
95
95
|
version_label: @version_label
|
96
96
|
})
|
97
|
+
wait_for_eb_ready(@application_name, @environment_name)
|
98
|
+
output "Attendo che i container vengano riavviati...\n".yellow
|
99
|
+
# Non e' veramente ready, deve restartare i container
|
100
|
+
sleep_seconds = 180
|
101
|
+
seconds_elapsed = 0
|
102
|
+
while true
|
103
|
+
break if seconds_elapsed >= sleep_seconds
|
104
|
+
print '.'.yellow; STDOUT.flush
|
105
|
+
sleep 1
|
106
|
+
seconds_elapsed += 1
|
107
|
+
end
|
97
108
|
run_commands(@environment_name, ssh_key_path)
|
98
109
|
else
|
99
110
|
output "Environment #{@environment_name} non presente, inizio la creazione...\n".yellow
|
@@ -184,6 +195,26 @@ class Release
|
|
184
195
|
version_label: version_label,
|
185
196
|
solution_stack_name: "64bit Amazon Linux 2015.09 v2.0.4 running Multi-container Docker 1.7.1 (Generic)",
|
186
197
|
option_settings: [
|
198
|
+
{
|
199
|
+
namespace: "aws:ec2:vpc",
|
200
|
+
option_name: "VPCId",
|
201
|
+
value: "vpc-72e52b17",
|
202
|
+
},
|
203
|
+
{
|
204
|
+
namespace: "aws:ec2:vpc",
|
205
|
+
option_name: "Subnets",
|
206
|
+
value: "subnet-90dc64f5,subnet-df13e986,subnet-78db7a0f",
|
207
|
+
},
|
208
|
+
{
|
209
|
+
namespace: "aws:ec2:vpc",
|
210
|
+
option_name: "ELBSubnets",
|
211
|
+
value: "subnet-90dc64f5,subnet-df13e986,subnet-78db7a0f",
|
212
|
+
},
|
213
|
+
{
|
214
|
+
namespace: "aws:ec2:vpc",
|
215
|
+
option_name: "AssociatePublicIpAddress",
|
216
|
+
value: "true",
|
217
|
+
},
|
187
218
|
{
|
188
219
|
namespace: "aws:autoscaling:launchconfiguration",
|
189
220
|
option_name: "IamInstanceProfile",
|
@@ -272,10 +303,9 @@ class Release
|
|
272
303
|
def wait_for_eb_ready(application_name, environment_name)
|
273
304
|
ready = false
|
274
305
|
start_time = Time.now - 60
|
306
|
+
sleep_seconds = 30
|
275
307
|
output "Attendo che l'environment finisca di essere inizializzato...\n".yellow
|
276
308
|
while !ready
|
277
|
-
print '...'.yellow; STDOUT.flush
|
278
|
-
|
279
309
|
events = get_eb_events(application_name, environment_name, start_time)
|
280
310
|
start_time = Time.now
|
281
311
|
|
@@ -292,7 +322,14 @@ class Release
|
|
292
322
|
end
|
293
323
|
|
294
324
|
ready = true if is_eb_ready?(application_name, environment_name)
|
295
|
-
|
325
|
+
|
326
|
+
seconds_elapsed = 0
|
327
|
+
while true
|
328
|
+
break if seconds_elapsed >= sleep_seconds
|
329
|
+
print '.'.yellow; STDOUT.flush
|
330
|
+
sleep 1
|
331
|
+
seconds_elapsed += 1
|
332
|
+
end
|
296
333
|
end
|
297
334
|
|
298
335
|
output "Environment inizializzato!\n".green
|
@@ -310,8 +347,8 @@ class Release
|
|
310
347
|
output "L'IP pubblico della macchina e': #{public_ip_address}\n".cyan
|
311
348
|
|
312
349
|
base_cmd = "ssh -q -tt -o StrictHostKeyChecking=no -i #{ssh_key_path} ec2-user@#{public_ip_address}"
|
313
|
-
cmd = "#{base_cmd} sudo -i docker ps
|
314
|
-
container_id = %x[ #{cmd} | grep -v 'Warning:' ].
|
350
|
+
cmd = "#{base_cmd} sudo -i docker ps --filter='name=-php-' | awk '{print $1 }' | grep -v CONTAINER"
|
351
|
+
container_id = %x[ #{cmd} | grep -v 'Warning:' ].strip
|
315
352
|
|
316
353
|
base_docker_cmd = "sudo -i docker exec #{container_id}"
|
317
354
|
|
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.2.
|
4
|
+
version: 0.2.16
|
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: 2015-12-
|
14
|
+
date: 2015-12-16 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: twig
|