stable-cli-rails 0.6.4 → 0.6.6
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/lib/stable/cli.rb +9 -29
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c4c6a2df62447b539c1212d98c64f9cb33744454933fac73b9c86a763c951ac
|
|
4
|
+
data.tar.gz: 9a2f9cd59e224a67013a32351ec2bea6fda1097e01abd509594192b9648cbfa5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2fc9bcdc91837698b3127d656bf9837e358acb42704f71d6047d7bcbae0fdc3b14e442a7896eb34a9ca83f64cc3d3ea33295b46a478e1a62fd277f22c627d10c
|
|
7
|
+
data.tar.gz: 37a0545468ad7e1f2ca46e8e5039df4af1ecd71cee8b6d1eaaef9b6ad279969dd4bcc00abb050356113aae458229855c37ebccc8f81e1985aa09a1d9a79c8b10
|
data/lib/stable/cli.rb
CHANGED
|
@@ -71,33 +71,14 @@ module Stable
|
|
|
71
71
|
ensure_caddy_running!
|
|
72
72
|
caddy_reload
|
|
73
73
|
|
|
74
|
-
puts 'Preparing database...'
|
|
75
|
-
|
|
76
|
-
cmd = <<~CMD
|
|
77
|
-
bash -lc '
|
|
78
|
-
cd "#{app_path}" &&
|
|
79
|
-
rvm #{ruby}@#{name} do bundle exec rails db:prepare
|
|
80
|
-
'
|
|
81
|
-
CMD
|
|
82
|
-
|
|
83
|
-
system(cmd) or abort('Database preparation failed')
|
|
84
|
-
|
|
85
74
|
# --- Start Rails server ---
|
|
86
75
|
puts "Starting Rails server for #{name} on port #{port}..."
|
|
87
76
|
log_file = File.join(app_path, 'log', 'stable.log')
|
|
88
77
|
FileUtils.mkdir_p(File.dirname(log_file))
|
|
89
|
-
|
|
90
|
-
cmd = <<~CMD
|
|
91
|
-
bash -lc '
|
|
92
|
-
cd "#{app_path}" &&
|
|
93
|
-
rvm #{ruby}@#{name} do RAILS_ENV=development bundle exec rails s -p #{port} -b 127.0.0.1
|
|
94
|
-
'
|
|
95
|
-
CMD
|
|
96
|
-
|
|
97
|
-
pid = spawn(cmd, out: log_file, err: log_file)
|
|
78
|
+
pid = spawn("bash -lc 'rvm #{ruby}@#{name} do cd #{app_path} && bundle exec rails s -p #{port} >> #{log_file} 2>&1'")
|
|
98
79
|
Process.detach(pid)
|
|
99
80
|
|
|
100
|
-
wait_for_port(port
|
|
81
|
+
wait_for_port(port)
|
|
101
82
|
puts "✔ #{name} running at https://#{domain}"
|
|
102
83
|
end
|
|
103
84
|
|
|
@@ -193,7 +174,7 @@ module Stable
|
|
|
193
174
|
|
|
194
175
|
cmd = <<~CMD
|
|
195
176
|
cd #{app[:path]} &&
|
|
196
|
-
#{ruby_exec}
|
|
177
|
+
#{ruby_exec} bundle exec rails s -p #{port}
|
|
197
178
|
CMD
|
|
198
179
|
|
|
199
180
|
pid = spawn(
|
|
@@ -208,7 +189,7 @@ module Stable
|
|
|
208
189
|
|
|
209
190
|
generate_cert(app[:domain])
|
|
210
191
|
update_caddyfile(app[:domain], port)
|
|
211
|
-
wait_for_port(port
|
|
192
|
+
wait_for_port(port)
|
|
212
193
|
caddy_reload
|
|
213
194
|
|
|
214
195
|
puts "#{name} started on https://#{app[:domain]}"
|
|
@@ -495,17 +476,16 @@ module Stable
|
|
|
495
476
|
end
|
|
496
477
|
end
|
|
497
478
|
|
|
498
|
-
def wait_for_port(port, timeout:
|
|
479
|
+
def wait_for_port(port, timeout: 5)
|
|
499
480
|
require 'socket'
|
|
500
|
-
|
|
501
|
-
|
|
481
|
+
start_time = Time.now
|
|
502
482
|
loop do
|
|
503
483
|
TCPSocket.new('127.0.0.1', port).close
|
|
504
|
-
|
|
484
|
+
break
|
|
505
485
|
rescue Errno::ECONNREFUSED
|
|
506
|
-
raise "
|
|
486
|
+
raise "Timeout waiting for port #{port}" if Time.now - start_time > timeout
|
|
507
487
|
|
|
508
|
-
sleep 0.
|
|
488
|
+
sleep 0.1
|
|
509
489
|
end
|
|
510
490
|
end
|
|
511
491
|
|