While there is an existing non-rails version of Capistrano available (I haven’t tried this version yet but it looks handy), this post will walk you through the process of using standard Capistrano to deploy EE2 projects. Capistrano can be a little work to set up and is definitely for those comfortable using the command line (it also requires SSH access to the server).
Read the entire how-to: Capistrano for Expression Engine 2
(Dan Benjamin also posted a how-to on deploying EE1 sites from Github with Capistrano. Dan’s how-to articles are widely held as some of the best out there.)