generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb in sml-rubber-0.9.9 vs generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb in sml-rubber-0.9.10
- old
+ new
@@ -5,60 +5,33 @@
rubber.allow_optional_tasks(self)
after "rubber:install_gems", "rubber:passenger:custom_install"
- task :custom_install, :roles => :web do
+ task :custom_install, :roles => :passenger do
rubber.sudo_script 'install_passenger', <<-ENDSCRIPT
- if [[ ! -f /usr/lib/ruby/gems/*/gems/passenger-*/ext/apache2/mod_passenger.so ]]; then
+ if [[ -z `ls /usr/lib/ruby/gems/*/gems/passenger-*/ext/apache2/mod_passenger.so 2> /dev/null` ]]; then
echo -en "\n\n\n\n" | passenger-install-apache2-module
- # disable ubuntu default site
- a2dissite default
fi
ENDSCRIPT
- end
-
- # serial_task can only be called after roles defined - not normally a problem, but
- # rubber auto-roles don't get defined till after all tasks are defined
- on :load do
- rubber.serial_task self, :serial_restart, :roles => :web do
- run "/etc/init.d/apache2 restart"
- end
- rubber.serial_task self, :serial_reload, :roles => :web do
- 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"
- end
end
-
- desc "Stops the apache web server"
- task :stop, :roles => :web, :on_error => :continue do
- run "/etc/init.d/apache2 stop"
+
+ after "rubber:setup_app_permissions", "rubber:passenger:setup_passenger_permissions"
+
+ task :setup_passenger_permissions, :roles => :passenger do
+ run "chown #{rubber_env.app_user}:#{rubber_env.app_user} #{current_path}/config/environment.rb"
end
+
+ # passenger depends on apache for start/stop/restart, just need these defined
+ # as apache hooks into standard deploy lifecycle
- desc "Starts the apache web server"
- task :start, :roles => :web do
- run "/etc/init.d/apache2 start"
+ deploy.task :restart, :roles => :app do
end
- desc "Restarts the apache web server"
- task :restart, :roles => :web do
- serial_restart
+ deploy.task :stop, :roles => :app do
end
-
- desc "Reloads the apache web server"
- task :reload, :roles => :web do
- serial_reload
- end
- deploy.task :restart, :roles => :web do
- rubber.passenger.restart
- end
-
- deploy.task :stop, :roles => :web do
- rubber.passenger.stop
- end
-
- deploy.task :start, :roles => :web do
- rubber.passenger.start
+ deploy.task :start, :roles => :app do
end
end
end