For a basic deployment recipe, check out Basic Deployment with Capistrano
This episode demonstrates how to extend deployment to deploy to stage and production. Overall it’s rather simple. All it entails is creating a new task for each stage you want to deploy to with the settings you need changed.
Here’s an example:
task :stage do
role :web, “stage.teachmetocodeacademy.com” # Your HTTP server, Apache/etc
role :app, “stage.teachmetocodeacademy.com” # This may be the same as your `Web` server
role :db, “stage.teachmetocodeacademy.com”, :primary => true # This is where Rails migrations will run
set :deploy_to, ‘/var/www/stage-teachmetocodeacademy/’
set :user, ‘deploy’
That will allow you to run `cap stage deploy` to deploy to your staging environment.