Sha256: ca0a6d984ea9d2a050796f000701ed480df85509d6268871e1f91b6a07daecea

Contents?: true

Size: 1.75 KB

Versions: 15

Compression:

Stored size: 1.75 KB

Contents

namespace :rubber do

  namespace :passenger do
  
    rubber.allow_optional_tasks(self)
  
    after "rubber:install_gems", "rubber:passenger:custom_install"
    
    task :custom_install, :roles => :passenger do
      rubber.sudo_script 'install_passenger', <<-ENDSCRIPT
        # can't use passenger_lib from rubber here as it only evaluates correctly
        # when variable interpolation of rvm_gem_home is run remotely, and since we
        # are in cap, we run the interpolation locally
        #
        passenger_lib=$(find /usr/local/rvm/gems/`rvm current` -path "*/passenger-#{rubber_env.passenger_version}/*/mod_passenger.so" 2> /dev/null)
        if [[ -z $passenger_lib ]]; then
          echo -en "\n\n\n\n" | passenger-install-apache2-module
          rvm #{rubber_env.rvm_ruby} --passenger
        fi
      ENDSCRIPT
    end

    after "rubber:setup_app_permissions", "rubber:passenger:setup_passenger_permissions"

    task :setup_passenger_permissions, :roles => :passenger do
      rsudo "chown #{rubber_env.app_user}:#{rubber_env.app_user} #{current_path}/config/environment.rb"
    end

    # passenger does things differently for rack apps, so if this is a rails app, remove config.ru
    # to stop passenger from treating this like a rack app
    after "deploy:update_code", "rubber:passenger:remove_config_ru" if Rubber::Util.is_rails?

    task :remove_config_ru, :roles => :passenger do
      rsudo "rm -f  #{current_release}/config.ru"
    end

    # passenger depends on apache for start/stop/restart, just need these defined
    # as apache hooks into standard deploy lifecycle
    
    deploy.task :restart, :roles => :app do
    end
    
    deploy.task :stop, :roles => :app do
    end
    
    deploy.task :start, :roles => :app do
    end
    
  end
end

Version data entries

15 entries across 14 versions & 1 rubygems

Version Path
rubber-2.0.0 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre12 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre11 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre10 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre9 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre8 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre7 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre6 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre5 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre4 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre3 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre2 templates/passenger/config/rubber/deploy-passenger.rb
rubber-2.0.0.pre1 templates/passenger/config/rubber/deploy-passenger.rb
rubber-1.15.0 generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb
rubber-1.15.0 lib/generators/vulcanize/templates/passenger/config/rubber/deploy-passenger.rb