magic_recipes_two 0.0.93 → 0.0.94
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/capistrano/magic_recipes/version.rb +1 -1
- data/lib/capistrano/tasks/sidekiq_six.rake +1 -1
- data/lib/capistrano/tasks/thin.rake +1 -1
- data/lib/capistrano/tasks/thin_sysd.rake +41 -15
- data/lib/generators/capistrano/magic_recipes/templates/thin.service.erb +5 -5
- data/lib/generators/capistrano/magic_recipes/templates/thin_app_yml.erb +1 -1
- 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: b50067781cfa8d65ac3c4ae487d5fa03dbe28ef2d26e7941219df9cee775a0cf
|
4
|
+
data.tar.gz: a9c3c528b5786f54ce9c239f74eb4f1a067fb5706b788bfc593b44d96ca65054
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1009790183b10583e375dfaed183b921d422ae90118bc6b6b06b2b423696b1dbacc080c00476652cb44fbc4065085578c34a2f2cc935477dbe281307e8203bc
|
7
|
+
data.tar.gz: d8c692af47aa1e66249a1ebd6d0d453ac61d509cb37a2e708aee2f2682bb71757d500d2daa0ddb6effe0755c666e69215e60e7c1447b89b73b515ce185482f98
|
@@ -26,7 +26,7 @@ namespace :load do
|
|
26
26
|
|
27
27
|
set :sidekiq_six_ruby_vm, -> { :system } # ( :rvm | :rbenv | :system )
|
28
28
|
|
29
|
-
set :sidekiq_six_user, -> { 'deploy' }
|
29
|
+
set :sidekiq_six_user, -> { fetch(:user, 'deploy') } # role-user
|
30
30
|
set :sidekiq_six_log_lines, -> { 100 }
|
31
31
|
|
32
32
|
end
|
@@ -13,13 +13,17 @@ namespace :load do
|
|
13
13
|
set :thin_require, -> { [] }
|
14
14
|
set :thin_wait, -> { 90 }
|
15
15
|
set :thin_onebyone, -> { true }
|
16
|
-
|
16
|
+
# https://help.cloud66.com/rails/how-to-guides/rack-servers/thin-rack-server.html
|
17
|
+
# You should not daemonize the custom_web process !!!
|
18
|
+
set :thin_daemonize, -> { false }
|
17
19
|
set :thin_hooks, -> { true }
|
18
20
|
|
19
|
-
set :
|
20
|
-
set :
|
21
|
-
set :
|
22
|
-
set :
|
21
|
+
set :thin_daemon_ruby_vm, -> { :system } # ( :rvm | :rbenv | :system )
|
22
|
+
set :thin_daemon_file, -> { "thin_#{fetch(:application)}_#{fetch(:stage)}" }
|
23
|
+
set :thin_daemon_path, -> { "/lib/systemd/system" }
|
24
|
+
set :thin_daemon_template, -> { :default }
|
25
|
+
set :thin_daemon_log_lines, -> { 100 }
|
26
|
+
set :thin_daemon_user, -> { fetch(:user, 'deploy') } # role-user
|
23
27
|
|
24
28
|
end
|
25
29
|
end
|
@@ -27,17 +31,31 @@ end
|
|
27
31
|
|
28
32
|
namespace :thin do
|
29
33
|
|
30
|
-
def
|
31
|
-
if fetch(:
|
34
|
+
def upload_thin_daemon
|
35
|
+
if fetch(:thin_daemon_template, :default) == :default
|
32
36
|
magic_template("thin.service", '/tmp/thin.service')
|
33
37
|
else
|
34
|
-
magic_template(fetch(:
|
38
|
+
magic_template(fetch(:thin_daemon_template), '/tmp/thin.service')
|
35
39
|
end
|
36
|
-
execute :sudo, :mv, '/tmp/thin.service', "#{ fetch(:
|
40
|
+
execute :sudo, :mv, '/tmp/thin.service', "#{ fetch(:thin_daemon_path) }/#{ fetch(:thin_daemon_file) }.service"
|
37
41
|
end
|
38
42
|
|
39
43
|
|
40
|
-
|
44
|
+
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
|
45
|
+
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
|
46
|
+
|
47
|
+
|
48
|
+
desc 'Create and upload thin daemon file'
|
49
|
+
task :upload_daemon do
|
50
|
+
on roles fetch(:thin_roles) do
|
51
|
+
within current_path do
|
52
|
+
upload_thin_daemon()
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
desc "Create and upload thin config file"
|
41
59
|
task :reconf do
|
42
60
|
on release_roles fetch(:thin_roles) do
|
43
61
|
within current_path do
|
@@ -55,7 +73,9 @@ namespace :thin do
|
|
55
73
|
desc "#{cmnd.capitalize} thin service"
|
56
74
|
task cmnd.gsub(/-/, '_') do
|
57
75
|
on roles fetch(:thin_roles) do
|
58
|
-
|
76
|
+
within current_path do
|
77
|
+
execute :sudo, :systemctl, cmnd, fetch(:thin_daemon_file)
|
78
|
+
end
|
59
79
|
end
|
60
80
|
end
|
61
81
|
end
|
@@ -63,14 +83,18 @@ namespace :thin do
|
|
63
83
|
desc "Quiet thin service"
|
64
84
|
task :quiet do
|
65
85
|
on roles fetch(:thin_roles) do
|
66
|
-
|
86
|
+
within current_path do
|
87
|
+
execute :sudo, :systemctl, 'kill -s TSTP', fetch(:thin_daemon_file)
|
88
|
+
end
|
67
89
|
end
|
68
90
|
end
|
69
91
|
|
70
92
|
desc "Get logs for thin service"
|
71
93
|
task :logs do
|
72
94
|
on roles fetch(:thin_roles) do
|
73
|
-
|
95
|
+
within current_path do
|
96
|
+
execute :sudo, :journalctl, '-u', fetch(:thin_daemon_file), '-rn', fetch(:thin_daemon_log_lines, 100)
|
97
|
+
end
|
74
98
|
end
|
75
99
|
end
|
76
100
|
|
@@ -78,15 +102,17 @@ namespace :thin do
|
|
78
102
|
desc "check thin service status"
|
79
103
|
task :check_status do
|
80
104
|
on roles fetch(:thin_roles) do
|
105
|
+
within current_path do
|
81
106
|
puts "#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#"
|
82
107
|
puts "#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#"
|
83
|
-
puts fetch(:
|
108
|
+
puts fetch(:thin_daemon_file)
|
84
109
|
puts "#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#"
|
85
|
-
output = capture :sudo, "systemctl status", fetch(:
|
110
|
+
output = capture :sudo, "systemctl status", fetch(:thin_daemon_file)
|
86
111
|
output.each_line do |line|
|
87
112
|
puts line
|
88
113
|
end
|
89
114
|
puts "#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#"
|
115
|
+
end
|
90
116
|
end
|
91
117
|
end
|
92
118
|
|
@@ -1,20 +1,20 @@
|
|
1
1
|
[Unit]
|
2
|
-
Description=<%= fetch(:
|
2
|
+
Description=<%= fetch(:thin_daemon_file) %>
|
3
3
|
After=syslog.target
|
4
4
|
After=network.target
|
5
5
|
|
6
6
|
[Service]
|
7
7
|
Type=forking
|
8
8
|
|
9
|
-
User=<%=
|
10
|
-
Group=<%=
|
9
|
+
User=<%= fetch(:thin_daemon_user) %>
|
10
|
+
Group=<%= fetch(:thin_daemon_user) %>
|
11
11
|
|
12
12
|
WorkingDirectory=<%= current_path %>
|
13
|
-
<% if fetch(:
|
13
|
+
<% if fetch(:thin_daemon_ruby_vm) == :rbenv %>
|
14
14
|
ExecStart=/bin/bash -lc 'exec /home/deploy/.rbenv/shims/bundle exec thin -C config/thin_app_<%= fetch(:stage) %>.yml start'
|
15
15
|
ExecStop=/bin/bash -lc 'exec /home/deploy/.rbenv/shims/bundle exec thin -C config/thin_app_<%= fetch(:stage) %>.yml stop'
|
16
16
|
ExecReload=/bin/bash -lc 'exec /home/deploy/.rbenv/shims/bundle exec thin -C config/thin_app_<%= fetch(:stage) %>.yml restart'
|
17
|
-
<% elsif fetch(:
|
17
|
+
<% elsif fetch(:thin_daemon_ruby_vm) == :rvm %>
|
18
18
|
ExecStart=<%= fetch(:rvm_path) %>/bin/rvm <%= fetch(:rvm_ruby_version) %> do bundle exec thin -C config/thin_app_<%= fetch(:stage) %>.yml start
|
19
19
|
ExecStop=<%= fetch(:rvm_path) %>/bin/rvm <%= fetch(:rvm_ruby_version) %> do bundle exec thin -C config/thin_app_<%= fetch(:stage) %>.yml stop
|
20
20
|
ExecReload=<%= fetch(:rvm_path) %>/bin/rvm <%= fetch(:rvm_ruby_version) %> do bundle exec thin -C config/thin_app_<%= fetch(:stage) %>.yml restart
|
@@ -15,5 +15,5 @@ wait: <%= fetch(:thin_wait) %>
|
|
15
15
|
servers: <%= fetch(:app_instances) %>
|
16
16
|
# user: <%= fetch(:user) %>
|
17
17
|
socket: /tmp/thin.<%= fetch(:application) %>.<%= fetch(:stage) %>.sock
|
18
|
-
daemonize: <%= fetch(:
|
18
|
+
daemonize: <%= fetch(:thin_daemonize) %>
|
19
19
|
onebyone: <%= fetch(:thin_onebyone) %>
|