sml-rubber 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb +36 -11
- data/generators/vulcanize/templates/passenger/config/rubber/role/web/passenger.conf +2 -2
- data/generators/vulcanize/templates/passenger/config/rubber/role/web/vhost.conf +27 -0
- data/generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml +1 -1
- data/generators/vulcanize/templates/passenger/templates.yml +1 -1
- data/lib/rubber/recipes/rubber/utils.rb +12 -3
- metadata +5 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.4
|
@@ -5,23 +5,48 @@ namespace :rubber do
|
|
5
5
|
|
6
6
|
rubber.allow_optional_tasks(self)
|
7
7
|
|
8
|
-
after "rubber:
|
8
|
+
after "rubber:install_gems", "rubber:passenger:custom_install"
|
9
9
|
|
10
10
|
task :custom_install, :roles => :web do
|
11
11
|
rubber.sudo_script 'install_passenger', <<-ENDSCRIPT
|
12
|
-
TMPDIR=`mktemp -d` || exit 1
|
13
|
-
cd $TMPDIR
|
14
|
-
# download and install current HEAD of passenger
|
15
|
-
wget -q --output-document=passenger.tgz http://github.com/FooBarWidget/passenger/tarball/master
|
16
|
-
tar -xvf passenger.tgz --strip-components 1
|
17
|
-
rake package:gem && gem install pkg/*gem --no-rdoc --no-ri
|
18
12
|
echo -en "\n\n\n\n" | passenger-install-apache2-module
|
19
|
-
wget -q http://rubyforge.org/frs/download.php/
|
20
|
-
dpkg -i ruby-enterprise_1.8.6-
|
21
|
-
#
|
22
|
-
a2enmod rewrite
|
13
|
+
wget -q http://rubyforge.org/frs/download.php/58679/ruby-enterprise_1.8.6-20090610_i386.deb
|
14
|
+
dpkg -i ruby-enterprise_1.8.6-20090610_i386.deb
|
15
|
+
# disable ubuntu default site
|
23
16
|
a2dissite default
|
24
17
|
ENDSCRIPT
|
25
18
|
end
|
19
|
+
|
20
|
+
# serial_task can only be called after roles defined - not normally a problem, but
|
21
|
+
# rubber auto-roles don't get defined till after all tasks are defined
|
22
|
+
on :load do
|
23
|
+
rubber.serial_task self, :serial_restart, :roles => :web do
|
24
|
+
run "/etc/init.d/apache2 restart"
|
25
|
+
end
|
26
|
+
rubber.serial_task self, :serial_reload, :roles => :web do
|
27
|
+
run "if ! ps ax | grep -v grep | grep -c apache2 &> /dev/null; then /etc/init.d/apache2 start; else /etc/init.d/apache2 reload; fi"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
desc "Stops the apache web server"
|
32
|
+
task :stop, :roles => :web, :on_error => :continue do
|
33
|
+
run "/etc/init.d/apache2 stop"
|
34
|
+
end
|
35
|
+
|
36
|
+
desc "Starts the apache web server"
|
37
|
+
task :start, :roles => :web do
|
38
|
+
run "/etc/init.d/apache2 start"
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "Restarts the apache web server"
|
42
|
+
task :restart, :roles => :web do
|
43
|
+
serial_restart
|
44
|
+
end
|
45
|
+
|
46
|
+
desc "Reloads the apache web server"
|
47
|
+
task :reload, :roles => :web do
|
48
|
+
serial_reload
|
49
|
+
end
|
50
|
+
|
26
51
|
end
|
27
52
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
@path = '/etc/apache2/mods-available/passenger.conf'
|
3
3
|
@post = 'cd /etc/apache2/mods-enabled && ln -fs ../mods-available/passenger.conf && /etc/init.d/apache2 restart'
|
4
4
|
%>
|
5
|
-
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.
|
6
|
-
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.
|
5
|
+
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
|
6
|
+
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
|
7
7
|
PassengerRuby /opt/ruby-enterprise/bin/ruby
|
8
8
|
PassengerUseGlobalQueue on
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%
|
2
|
+
@path = "/etc/apache2/sites-available/#{rubber_env.app_name}"
|
3
|
+
@post = "a2enmod rewrite && a2ensite #{rubber_env.app_name} && /etc/init.d/apache2 reload"
|
4
|
+
%>
|
5
|
+
<VirtualHost *:80>
|
6
|
+
ServerName <%= rubber_env.domain %>
|
7
|
+
ServerAlias <%= rubber_env.web_aliases.join(" ") %>
|
8
|
+
DocumentRoot <%= RUBBER_ROOT + "/public" %>
|
9
|
+
|
10
|
+
ErrorDocument 404 /404.html
|
11
|
+
ErrorDocument 500 /500.html
|
12
|
+
|
13
|
+
SetEnvIf User-Agent "^(.*MSIE.*)|(.*AppleWebKit.*)$" nokeepalive
|
14
|
+
|
15
|
+
RailsEnv <%= RUBBER_ENV %>
|
16
|
+
RailsAllowModRewrite on
|
17
|
+
|
18
|
+
RewriteEngine On
|
19
|
+
RewriteCond %{HTTP_HOST} ^<%= rubber_env.domain %>$
|
20
|
+
RewriteRule ^(.*)$ http://www.<%= rubber_env.domain %>$1 [R,L]
|
21
|
+
|
22
|
+
# Include <%= RUBBER_ROOT + "/public" %>/config/apache/rewrites.conf
|
23
|
+
|
24
|
+
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
|
25
|
+
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
|
26
|
+
RewriteRule ^.*$ /system/maintenance.html [L]
|
27
|
+
</VirtualHost>
|
@@ -1 +1 @@
|
|
1
|
-
description: Phusion Passenger module
|
1
|
+
description: Phusion Passenger module (Apache2)
|
@@ -15,6 +15,15 @@ namespace :rubber do
|
|
15
15
|
instance_alias = ENV['ALIAS'] = rubber.get_env("ALIAS", "Hostname to use for staging instance", true, RUBBER_ENV)
|
16
16
|
default_roles = rubber_cfg.environment.bind().staging_roles || "*"
|
17
17
|
roles = ENV['ROLES'] = rubber.get_env("ROLES", "Roles to use for staging instance", true, default_roles)
|
18
|
+
|
19
|
+
# some bootstraps update code (bootstrap_db) but if you don't have that role, need to do it here
|
20
|
+
# Since release directory variable gets reused by cap, we have to just do the symlink here - doing
|
21
|
+
# a update again will fail
|
22
|
+
set :rubber_code_was_updated, false
|
23
|
+
after "deploy:update_code" do
|
24
|
+
set :rubber_code_was_updated, true
|
25
|
+
end
|
26
|
+
|
18
27
|
if rubber_cfg.instance[instance_alias]
|
19
28
|
logger.info "Instance already exists, skipping to bootstrap"
|
20
29
|
else
|
@@ -23,9 +32,9 @@ namespace :rubber do
|
|
23
32
|
rubber.bootstrap
|
24
33
|
# stop everything in case we have a bundled instance with monit, etc starting at boot
|
25
34
|
deploy.stop rescue nil
|
26
|
-
|
27
|
-
|
28
|
-
|
35
|
+
if ! rubber_code_was_updated
|
36
|
+
deploy.update_code
|
37
|
+
end
|
29
38
|
deploy.symlink
|
30
39
|
deploy.migrate
|
31
40
|
deploy.start
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sml-rubber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Conway
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-07
|
12
|
+
date: 2009-08-07 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- generators/vulcanize/templates/nginx/templates.yml
|
178
178
|
- generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb
|
179
179
|
- generators/vulcanize/templates/passenger/config/rubber/role/web/passenger.conf
|
180
|
+
- generators/vulcanize/templates/passenger/config/rubber/role/web/vhost.conf
|
180
181
|
- generators/vulcanize/templates/passenger/config/rubber/rubber-passenger.yml
|
181
182
|
- generators/vulcanize/templates/passenger/templates.yml
|
182
183
|
- generators/vulcanize/templates/sphinx/config/rubber/common/sphinx.yml
|
@@ -214,6 +215,7 @@ files:
|
|
214
215
|
- lib/rubber/util.rb
|
215
216
|
has_rdoc: false
|
216
217
|
homepage: http://github.com/wr0ngway/rubber
|
218
|
+
licenses:
|
217
219
|
post_install_message:
|
218
220
|
rdoc_options:
|
219
221
|
- --charset=UTF-8
|
@@ -234,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
236
|
requirements: []
|
235
237
|
|
236
238
|
rubyforge_project: rubber
|
237
|
-
rubygems_version: 1.
|
239
|
+
rubygems_version: 1.3.5
|
238
240
|
signing_key:
|
239
241
|
specification_version: 3
|
240
242
|
summary: A capistrano plugin for managing multi-instance deployments to the cloud (ec2)
|