sml-rubber 0.9.3 → 0.9.4

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 CHANGED
@@ -1 +1 @@
1
- 0.9.3
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:base:install_rubygems", "rubber:passenger:custom_install"
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/41041/ruby-enterprise_1.8.6-20080810-i386.deb
20
- dpkg -i ruby-enterprise_1.8.6-20080810-i386.deb
21
- # enable needed apache modules / disable ubuntu default site
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.1.0/ext/apache2/mod_passenger.so
6
- PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.1.0
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,4 +1,4 @@
1
1
  roles:
2
2
  web:
3
3
  packages: [apache2-mpm-prefork apache2-prefork-dev]
4
- gems: [fastthread rack]
4
+ gems: [fastthread, rack, [passenger, 2.2.4]]
@@ -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
- # bootstrap_db does setup/update_code, so since release directory
27
- # variable gets reused by cap, we have to just do the symlink here - doing
28
- # a update again will fail
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.3
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-10 00:00:00 -07:00
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.2.0
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)