Setup   
I had a lot of trouble with online recipes not matching the version of Capistrano I had. I settled on Capistrano v2.15.5 since that's what the Blacklight project is using.
You'll Ruby, Capistrano, PHP, MySQL, Git, drush, and a server to run the Drupal site.

Install capistrano:

gem install capistrano
gem install capistrano-ext

Local Directory  

Your development/site building happens here. It could be on a development machine also.

Set up a git repository for the site on https://git.library.cornell.edu/ - example https://git.library.cornell.edu/featureserver_test_library_cornell_edumkdir featureserver_test_library_cornell_edu

cd featureserver_test_library_cornell_edu
git init
touch README.txt
git add README.txt
git commit -m 'first commit'
git remote add origin git@git.library.cornell.edu:featureserver_test_library_cornell_edu.git
git push -u origin master

Set up the local directory

Here's what my .gitignore looks like.

Let capistrano create its default files

bash> cd featureserver_test_library_cornell_edu
bash> capify .

Now the directory looks like this:

Change the default deploy.rb to add stages (eg. staging, production) and add a deploy directory containing a file for each stage.

Here are some examples for deploy.rb, staging.rb, and production.rb that work for CUL servers. You'll need to modify the URLs and paths wherever there is a TODO comment.

Note: We currently don't have the servers set up to follow Capistrano's 'current' symlink. To work things out I've added a 'cap' directory:
/libweb/sites/<domain name>/cap
and deployed the sites there. If you add a symlink like this
/libweb/sites/<domain name>/htdocs/capcurrent -> ../cap/current/public
you can see the deployed site at
http://<domain name>/capcurrent
BUT it only works if you turn off Clean URLS
http://<domain name>/capcurrent/?q=admin/config/search/clean-urls

Server Directory