ricodigo-capistrano-recipes 0.1.4 → 0.1.5
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.
- data/VERSION +1 -1
- data/bin/ricodigo-install-server +1 -1
- data/generators/magent.bluepill.erb +37 -0
- data/generators/nginx.conf.erb +4 -4
- data/generators/template.bluepill.erb +36 -0
- data/lib/recipes/bluepill.rb +8 -3
- data/lib/recipes/magent.rb +32 -3
- data/lib/recipes/nginx.rb +1 -1
- data/ricodigo-capistrano-recipes.gemspec +4 -2
- metadata +6 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.5
|
data/bin/ricodigo-install-server
CHANGED
@@ -32,7 +32,7 @@ def install_packages(ssh)
|
|
32
32
|
packages = %w[
|
33
33
|
bind9 build-essential ufw libreadline6-dev git-core
|
34
34
|
libxslt1-dev libxml2-dev libssl-dev nginx mongodb-10gen curl
|
35
|
-
libcurl4-openssl-dev graphicsmagick
|
35
|
+
libcurl4-openssl-dev graphicsmagick openjdk-6-jre-headless libsasl2-dev
|
36
36
|
]
|
37
37
|
|
38
38
|
ssh.exec! "sudo apt-get install -y --force-yes #{packages.join(" ")}" do |channel, stream, data|
|
@@ -0,0 +1,37 @@
|
|
1
|
+
queue = "<%= magent_queue %>"
|
2
|
+
identity = "#{queue}-#{Socket.gethostname.split('.')[0]}"
|
3
|
+
app_name = 'magent'
|
4
|
+
rails_root = "<%= deploy_to %>/current"
|
5
|
+
rails_env = "<%= environment %>"
|
6
|
+
log_file = "#{rails_root}/log/magent_bluepill.log"
|
7
|
+
magent_bin = "/usr/bin/env RAILS_ENV=#{rails_env} bundle exec magent"
|
8
|
+
magent_pid_path = "#{rails_root}/tmp/pids"
|
9
|
+
magent_pid_file = "#{magent_pid_path}/magent.#{identity}.pid"
|
10
|
+
grace_time = <%= magent_grace_time %>
|
11
|
+
|
12
|
+
magent_start_cmd = "#{magent_bin} -d -Q #{queue} -l #{rails_root}/log -P #{magent_pid_path} start"
|
13
|
+
magent_stop_cmd = "#{magent_bin} -d -Q #{queue} -l #{rails_root}/log -P #{magent_pid_path} stop"
|
14
|
+
magent_restart_cmd = "#{magent_bin} -d -Q #{queue} -l #{rails_root}/log -P #{magent_pid_path} restart"
|
15
|
+
|
16
|
+
|
17
|
+
puts ">> Starting #{app_name} bluepill with RAILS_ROOT=#{rails_root} and RAILS_ENV=#{rails_env}"
|
18
|
+
|
19
|
+
Bluepill.application(app_name, :log_file => log_file) do |app|
|
20
|
+
app.process("magent-#{queue}") do |process|
|
21
|
+
process.pid_file = magent_pid_file
|
22
|
+
process.working_dir = rails_root
|
23
|
+
|
24
|
+
process.start_command = magent_start_cmd
|
25
|
+
process.stop_command = magent_stop_cmd
|
26
|
+
process.restart_command = magent_restart_cmd
|
27
|
+
|
28
|
+
process.start_grace_time = grace_time
|
29
|
+
process.stop_grace_time = grace_time
|
30
|
+
process.restart_grace_time = grace_time
|
31
|
+
|
32
|
+
process.uid = "app"
|
33
|
+
process.gid = "app"
|
34
|
+
|
35
|
+
process.checks :mem_usage, :every => 15.seconds, :below => 165.megabytes, :times => [3,4], :fires => :stop
|
36
|
+
end
|
37
|
+
end
|
data/generators/nginx.conf.erb
CHANGED
@@ -15,8 +15,8 @@ server {
|
|
15
15
|
|
16
16
|
# path for static files
|
17
17
|
root <%= deploy_to %>/current/public;
|
18
|
-
access_log <%= deploy_to %>/current/log/nginx.access.log
|
19
|
-
error_log <%= deploy_to %>/current/log/nginx.error.log
|
18
|
+
access_log <%= deploy_to %>/current/log/nginx.access.log;
|
19
|
+
error_log <%= deploy_to %>/current/log/nginx.error.log;
|
20
20
|
|
21
21
|
# this rewrites all the requests to the maintenance.html
|
22
22
|
# page if it exists in the doc root. This is for capistrano's
|
@@ -120,8 +120,8 @@ server {
|
|
120
120
|
client_max_body_size 50M;
|
121
121
|
|
122
122
|
root <%= deploy_to %>/current/public;
|
123
|
-
access_log <%= deploy_to %>/current/log/nginx.access.log
|
124
|
-
error_log <%= deploy_to %>/current/log/nginx.error.log
|
123
|
+
access_log <%= deploy_to %>/current/log/nginx.access.log;
|
124
|
+
error_log <%= deploy_to %>/current/log/nginx.error.log;
|
125
125
|
|
126
126
|
# this rewrites all the requests to the maintenance.html
|
127
127
|
# page if it exists in the doc root. This is for capistrano's
|
@@ -0,0 +1,36 @@
|
|
1
|
+
app_name = 'FIXME'
|
2
|
+
grace_time = 120
|
3
|
+
rails_root = '<%= deploy_to %>/current'
|
4
|
+
rails_env = '<%= environment %>'
|
5
|
+
log_file = "#{rails_root}/log/#{app_name}_bluepill.log"
|
6
|
+
cmd_bin = "/usr/bin/env RAILS_ENV=#{rails_env} bundle exec script/#{app_name}"
|
7
|
+
cmd_pid = "#{rails_root}/tmp/pids/#{app_name}.pid"
|
8
|
+
|
9
|
+
cmd_start_cmd = "#{cmd_bin}"
|
10
|
+
cmd_stop_cmd = "kill -QUIT {{PID}}"
|
11
|
+
cmd_restart_cmd = "bash -c '#{cmd_stop_cmd} && #{cmd_start_cmd}'"
|
12
|
+
|
13
|
+
|
14
|
+
puts ">> Starting #{app_name} bluepill with RAILS_ROOT=#{rails_root} and RAILS_ENV=#{rails_env}"
|
15
|
+
|
16
|
+
Bluepill.application(app_name, :log_file => log_file) do |app|
|
17
|
+
app.process("cmd-#{app_name}") do |process|
|
18
|
+
process.pid_file = cmd_pid
|
19
|
+
process.daemonize = true
|
20
|
+
process.working_dir = rails_root
|
21
|
+
|
22
|
+
process.start_command = cmd_start_cmd
|
23
|
+
process.stop_command = cmd_stop_cmd
|
24
|
+
process.restart_command = cmd_restart_cmd
|
25
|
+
|
26
|
+
process.start_grace_time = grace_time
|
27
|
+
process.stop_grace_time = grace_time
|
28
|
+
process.restart_grace_time = grace_time
|
29
|
+
|
30
|
+
process.uid = "app"
|
31
|
+
process.gid = "app"
|
32
|
+
|
33
|
+
process.checks :mem_usage, :every => 15.seconds, :below => 165.megabytes, :times => [3,4], :fires => :stop
|
34
|
+
process.checks :cpu_usage, :every => 15.seconds, :below => 90, :times => [3,4], :fires => :stop
|
35
|
+
end
|
36
|
+
end
|
data/lib/recipes/bluepill.rb
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
Capistrano::Configuration.instance.load do
|
2
|
-
set(:bluepill_local_config) { "#{templates_path}/app.bluepill.erb" } unless exists?(:
|
3
|
-
set(:bluepill_remote_config) { "#{shared_path}/config/pills/#{application}.pill" } unless exists?(:
|
2
|
+
set(:bluepill_local_config) { "#{templates_path}/app.bluepill.erb" } unless exists?(:bluepill_local_config)
|
3
|
+
set(:bluepill_remote_config) { "#{shared_path}/config/pills/#{application}.pill" } unless exists?(:bluepill_remote_config)
|
4
4
|
|
5
5
|
namespace :bluepill do
|
6
|
-
desc "|capistrano-recipes| Parses and uploads
|
6
|
+
desc "|capistrano-recipes| Parses and uploads bluepill configuration for this app."
|
7
7
|
task :setup, :roles => :app , :except => { :no_release => true } do
|
8
8
|
generate_config(bluepill_local_config, bluepill_remote_config)
|
9
9
|
end
|
10
10
|
|
11
|
+
desc "|capistrano-recipes| Parses and uploads a bluepill template."
|
12
|
+
task :template, :roles => :app , :except => { :no_release => true } do
|
13
|
+
generate_config("#{templates_path}/template.bluepill.erb", "#{shared_path}/config/pills/template.pill")
|
14
|
+
end
|
15
|
+
|
11
16
|
desc "|capistrano-recipes| Install the bluepill monitoring tool"
|
12
17
|
task :install, :roles => [:app] do
|
13
18
|
sudo "gem install bluepill"
|
data/lib/recipes/magent.rb
CHANGED
@@ -1,15 +1,44 @@
|
|
1
1
|
Capistrano::Configuration.instance.load do
|
2
|
+
set(:magent_queue, :default) unless exists?(:magent_queue)
|
3
|
+
set(:magent_grace_time, 120) unless exists?(:magent_grace_time)
|
4
|
+
set(:magent_local_config) { "#{templates_path}/magent.bluepill.erb" } unless exists?(:magent_local_config)
|
5
|
+
set(:magent_remote_config) { "#{shared_path}/config/pills/magent.pill" } unless exists?(:magent_remote_config)
|
6
|
+
|
2
7
|
namespace :magent do
|
8
|
+
desc "Configure magent pill"
|
9
|
+
task :setup do
|
10
|
+
generate_config(magent_local_config, magent_remote_config)
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Init magent with bluepill"
|
14
|
+
task :init do
|
15
|
+
rvmsudo "bluepill load #{magent_remote_config}"
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "Start magent with bluepill"
|
3
19
|
task :start do
|
4
|
-
|
20
|
+
rvmsudo "bluepill magent start"
|
5
21
|
end
|
6
22
|
|
23
|
+
desc "Restart magent with bluepill"
|
7
24
|
task :restart do
|
8
|
-
|
25
|
+
rvmsudo "bluepill magent restart"
|
9
26
|
end
|
10
27
|
|
28
|
+
desc "Stop magent with bluepill"
|
11
29
|
task :stop do
|
12
|
-
|
30
|
+
rvmsudo "bluepill magent stop"
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "Display the bluepill status"
|
34
|
+
task :status do
|
35
|
+
rvmsudo "bluepill magent status"
|
36
|
+
end
|
37
|
+
|
38
|
+
desc "Stop magent and quit bluepill"
|
39
|
+
task :quit do
|
40
|
+
rvmsudo "bluepill magent stop"
|
41
|
+
rvmsudo "bluepill magent quit"
|
13
42
|
end
|
14
43
|
end
|
15
44
|
end
|
data/lib/recipes/nginx.rb
CHANGED
@@ -8,7 +8,7 @@ Capistrano::Configuration.instance.load do
|
|
8
8
|
|
9
9
|
# Path to where your remote config will reside (I use a directory sites inside conf)
|
10
10
|
set(:nginx_remote_config) do
|
11
|
-
"#{nginx_path_prefix}/conf
|
11
|
+
"#{nginx_path_prefix}/conf.d/#{application}.site.conf"
|
12
12
|
end unless exists?(:nginx_remote_config)
|
13
13
|
|
14
14
|
# Nginx tasks are not *nix agnostic, they assume you're using Debian/Ubuntu.
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ricodigo-capistrano-recipes}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David A. Cuadrado"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-26}
|
13
13
|
s.default_executable = %q{ricodigo-install-server}
|
14
14
|
s.description = %q{our capistrano recipes. forked from capistrano-recipes}
|
15
15
|
s.email = %q{krawek@gmail.com}
|
@@ -28,7 +28,9 @@ Gem::Specification.new do |s|
|
|
28
28
|
"VERSION",
|
29
29
|
"bin/ricodigo-install-server",
|
30
30
|
"generators/app.bluepill.erb",
|
31
|
+
"generators/magent.bluepill.erb",
|
31
32
|
"generators/nginx.conf.erb",
|
33
|
+
"generators/template.bluepill.erb",
|
32
34
|
"generators/unicorn.rb.erb",
|
33
35
|
"lib/helpers.rb",
|
34
36
|
"lib/recipes/application.rb",
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 5
|
9
|
+
version: 0.1.5
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- David A. Cuadrado
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-05-
|
17
|
+
date: 2011-05-26 00:00:00 -05:00
|
18
18
|
default_executable: ricodigo-install-server
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -174,7 +174,9 @@ files:
|
|
174
174
|
- VERSION
|
175
175
|
- bin/ricodigo-install-server
|
176
176
|
- generators/app.bluepill.erb
|
177
|
+
- generators/magent.bluepill.erb
|
177
178
|
- generators/nginx.conf.erb
|
179
|
+
- generators/template.bluepill.erb
|
178
180
|
- generators/unicorn.rb.erb
|
179
181
|
- lib/helpers.rb
|
180
182
|
- lib/recipes/application.rb
|
@@ -205,7 +207,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
207
|
requirements:
|
206
208
|
- - ">="
|
207
209
|
- !ruby/object:Gem::Version
|
208
|
-
hash:
|
210
|
+
hash: 2507973693654577722
|
209
211
|
segments:
|
210
212
|
- 0
|
211
213
|
version: "0"
|