Capistrano is one of those problem solving apps that can be tricky to setup at first, but is a no-brainer once you’ve deployed with it.
I added a few notes about hosting on Dreamhost because they only support rails 2.2.2 at the time of this writing. My current app is actually developed under 2.3.2.
With Dreamhost, you only get a RAILS_ENV=’production’ setup on Passenger hosting…but that is good enough. I prefer to run test.the-app.com locally anyway.
If an app of mine gets popular, I would move it off of dreamhost regardless ( security, reliability, etc ). Try slicehost or linode if you’re looking for a more professional web hosting solution.
#create the_rails_app_production database #setup db.the-rails-app.com db server #setup domain the-rails-app.com to look in ./current #!/bin/bash cd ~/the_rails_app mkdir config/deploy for e in 'staging production testing'; do touch config/deploy/$e.rb; done; echo '#!/bin/bash' > script/spin echo 'touch tmp/restart' >> script/spin && chmod 755 script/spin # dreamhost only: # change config/environment.rb to require rails 2.2.2 # change config/database.yaml (production:) and delete the socket ref for mysql # add symlink to older application.rb controller svn ci -m 'initial capify' capify . cap deploy:setup cap deploy:check cap deploy:update #fix all errors until this succeeds cap deploy:migrate #initial migration of db #if using 2.2.2 be sure to symlink application_controller.rb to application.rb cap deploy:start # if you modify anything, be sure to checkin and deploy:update again