nesquena-cap-recipes 0.2.1 → 0.2.2
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/README.textile +11 -3
- data/Rakefile +1 -1
- data/lib/cap_recipes/tasks/passenger.rb +32 -23
- metadata +1 -1
    
        data/README.textile
    CHANGED
    
    | @@ -31,9 +31,14 @@ h3. Passenger | |
| 31 31 |  | 
| 32 32 | 
             
            h4. Configuration
         | 
| 33 33 |  | 
| 34 | 
            -
             *  | 
| 35 | 
            -
             | 
| 34 | 
            +
             * base_ruby_path - the base path to the ruby installation [default: "/usr"]
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            The following files and folders are expected to exist:
         | 
| 36 37 |  | 
| 38 | 
            +
             * "#{base_ruby_path}/lib/ruby"
         | 
| 39 | 
            +
             * "#{base_ruby_path}/bin/ruby"
         | 
| 40 | 
            +
             * "#{base_ruby_path}/bin/gem"
         | 
| 41 | 
            +
             | 
| 37 42 | 
             
            h4. Tasks
         | 
| 38 43 |  | 
| 39 44 | 
             
              deploy
         | 
| @@ -43,10 +48,13 @@ h4. Tasks | |
| 43 48 | 
             
                :with_migrations
         | 
| 44 49 | 
             
                :copy_config
         | 
| 45 50 | 
             
                :tail
         | 
| 46 | 
            -
             | 
| 51 | 
            +
              install
         | 
| 52 | 
            +
                :passenger
         | 
| 53 | 
            +
                :gems
         | 
| 47 54 | 
             
              sweep
         | 
| 48 55 | 
             
                :cache
         | 
| 49 56 | 
             
                :log
         | 
| 57 | 
            +
                :gems
         | 
| 50 58 |  | 
| 51 59 | 
             
            h3. Apache
         | 
| 52 60 |  | 
    
        data/Rakefile
    CHANGED
    
    | @@ -5,7 +5,7 @@ require 'rake/gempackagetask' | |
| 5 5 | 
             
            require 'spec/rake/spectask'
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM = "cap-recipes"
         | 
| 8 | 
            -
            GEM_VERSION = "0.2. | 
| 8 | 
            +
            GEM_VERSION = "0.2.2"
         | 
| 9 9 | 
             
            SUMMARY = "Collection of capistrano recipes for apache, passenger, juggernaut and backgroundrb"
         | 
| 10 10 | 
             
            AUTHOR = "Nathan Esquenazi"
         | 
| 11 11 | 
             
            EMAIL = "nesquena@gmail.com"
         | 
| @@ -1,6 +1,5 @@ | |
| 1 1 | 
             
            Capistrano::Configuration.instance(true).load do
         | 
| 2 | 
            -
              set : | 
| 3 | 
            -
              set :ruby_bin_path, '/usr/bin/ruby1.8'
         | 
| 2 | 
            +
              set :base_ruby_path, '/usr'  
         | 
| 4 3 |  | 
| 5 4 | 
             
              # ===============================================================
         | 
| 6 5 | 
             
              # DEPLOYMENT SCRIPTS
         | 
| @@ -59,23 +58,32 @@ Capistrano::Configuration.instance(true).load do | |
| 59 58 | 
             
                task :tail, :role => :app do
         | 
| 60 59 | 
             
                  stream "tail -f #{shared_path}/log/production.log"
         | 
| 61 60 | 
             
                end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 61 | 
            +
                
         | 
| 62 | 
            +
              end
         | 
| 63 | 
            +
              
         | 
| 64 | 
            +
              # ===============================================================
         | 
| 65 | 
            +
              # INSTALLATION
         | 
| 66 | 
            +
              # ===============================================================
         | 
| 67 | 
            +
              
         | 
| 68 | 
            +
              namespace :install do
         | 
| 69 | 
            +
                
         | 
| 70 | 
            +
                desc "Updates all installed ruby gems"
         | 
| 71 | 
            +
                task :gems, :role => :app do
         | 
| 72 | 
            +
                  sudo "gem update"
         | 
| 73 | 
            +
                end
         | 
| 74 | 
            +
                
         | 
| 67 75 | 
             
                desc "Installs Phusion Passenger"
         | 
| 68 | 
            -
                task : | 
| 76 | 
            +
                task :passenger, :role => :app do
         | 
| 69 77 | 
             
                  puts 'Installing passenger module'
         | 
| 70 | 
            -
                   | 
| 71 | 
            -
                   | 
| 78 | 
            +
                  install.passenger_apache_module
         | 
| 79 | 
            +
                  install.config_passenger
         | 
| 72 80 | 
             
                end
         | 
| 73 | 
            -
             | 
| 81 | 
            +
              
         | 
| 74 82 | 
             
                desc "Setup Passenger Module"
         | 
| 75 | 
            -
                task : | 
| 76 | 
            -
                  sudo "gem install passenger --no-ri --no-rdoc"
         | 
| 83 | 
            +
                task :passenger_apache_module do
         | 
| 84 | 
            +
                  sudo "#{base_ruby_path}/bin/gem install passenger --no-ri --no-rdoc"
         | 
| 77 85 | 
             
                  input = ''
         | 
| 78 | 
            -
                  run "sudo passenger-install-apache2-module" do |ch, stream, out|
         | 
| 86 | 
            +
                  run "sudo #{base_ruby_path}/bin/passenger-install-apache2-module" do |ch, stream, out|
         | 
| 79 87 | 
             
                    next if out.chomp == input.chomp || out.chomp == ''
         | 
| 80 88 | 
             
                    print out
         | 
| 81 89 | 
             
                    ch.send_data(input = $stdin.gets) if out =~ /(Enter|ENTER)/
         | 
| @@ -85,22 +93,23 @@ Capistrano::Configuration.instance(true).load do | |
| 85 93 | 
             
                desc "Configure Passenger"
         | 
| 86 94 | 
             
                task :config_passenger do
         | 
| 87 95 | 
             
                  version = 'ERROR' # default
         | 
| 88 | 
            -
             | 
| 96 | 
            +
                
         | 
| 89 97 | 
             
                  # passenger (2.X.X, 1.X.X)
         | 
| 90 98 | 
             
                  run("gem list | grep passenger") do |ch, stream, data|
         | 
| 91 | 
            -
                    version = data.sub(/passenger \(([^,]+) | 
| 99 | 
            +
                    version = data.sub(/passenger \(([^,]+).*?\)/,"\\1").strip
         | 
| 92 100 | 
             
                  end
         | 
| 93 101 |  | 
| 94 102 | 
             
                  puts "  passenger version #{version} configured"
         | 
| 95 103 |  | 
| 96 104 | 
             
                  passenger_config =<<-EOF
         | 
| 97 | 
            -
                    LoadModule passenger_module #{ | 
| 98 | 
            -
                    PassengerRoot #{ | 
| 99 | 
            -
                    PassengerRuby / | 
| 105 | 
            +
                    LoadModule passenger_module #{base_ruby_path}/lib/ruby/gems/1.8/gems/passenger-#{version}/ext/apache2/mod_passenger.so
         | 
| 106 | 
            +
                    PassengerRoot #{base_ruby_path}/lib/ruby/gems/1.8/gems/passenger-#{version}
         | 
| 107 | 
            +
                    PassengerRuby #{base_ruby_path}/bin/ruby
         | 
| 100 108 | 
             
                  EOF
         | 
| 101 | 
            -
             | 
| 102 | 
            -
                  put passenger_config, " | 
| 103 | 
            -
                  sudo "mv  | 
| 109 | 
            +
                
         | 
| 110 | 
            +
                  put passenger_config, "/tmp/passenger"
         | 
| 111 | 
            +
                  sudo "mv /tmp/passenger /etc/apache2/conf.d/passenger"
         | 
| 112 | 
            +
                  apache.restart
         | 
| 104 113 | 
             
                end
         | 
| 105 114 |  | 
| 106 115 | 
             
              end
         | 
| @@ -119,7 +128,7 @@ Capistrano::Configuration.instance(true).load do | |
| 119 128 | 
             
                task :cache, :role => :app do
         | 
| 120 129 | 
             
                  puts "Sweeping the fragment and action cache stores"
         | 
| 121 130 | 
             
                  run "cd #{release_path} && #{sudo} rake tmp:cache:clear RAILS_ENV=production"
         | 
| 122 | 
            -
                end
         | 
| 131 | 
            +
                end    
         | 
| 123 132 | 
             
              end
         | 
| 124 133 |  | 
| 125 134 | 
             
              # ===============================================================
         |