Pushdeploy is a very simple replacement for capistrano to deploy your rails applications. It works just as on heroku - you just say 'git push' and everything is done. No 'cap deploy' and no additional release folders.
How it works
It installs a post-receive hook in your git repository which runs 'git pull' and then runs 'after_deploy.rb' script.
after_deploy.rb runs bundler, migrate, restarts passenger and launches all additional commands you may specify.
Install is very easy and consist of two steps. Let's say you have two machines:
One is a development machine where you do all the development and from which you do git commits and pushes. Another one is a production machine where you push your commits and where your webserver is running.
On your development machine. Inside of your project root folder:
gem install pushdeploy pushdeploy_create_config
It will create auto_deploy.rb script in your 'config' folder. You can edit it to add any additional commands you want to launch on your production machine after 'git push'.
On your production machine. Inside of your project root folder:
gem install pushdeploy pushdeploy_install_hook
It will install a post-receive hook in your git repository. First it will try to determine the path to your repo and if it can't it will ask you some questions about your enironment. You can also launch in manual mode by using option '-m'.
Note, that if you're using RVM you have to be in the gemset that is right for this current project. Or you have to run pushdeploy_install_hook with the option '-m' and specify your gemset and ruby version manually.