Capistrano is a workhorse, but if you combine it with rvm and bundler, you're in for a treat.
git-deploy works pretty well, but it's still not seamless and you end up having to work around it too often for my taste.
heroku solves the deployment process bang on.
This command-line utility brings the same heroku-style deploys convenience to a regular VPS, {cloud-provider} instance or even bare metal (if you're that hard core).