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