I've been learning Rails for the last few days and during this period, I've tested out Heroku and it's great to just do a "git push heroku" and the entire application is up and running. The problem is that I already have a VPS and I'd like the similar deployment method. How would I do this? Which web server is the best to use? My issue isn't performance - I just want fast and easy deployment. Is this even possible?
It absolutely is, I'm deploying this way.
I wrote an article about git hooks some time ago. It is about automatically testing your codebase before commiting anything into your SCM. But you can easily rewrite it to run your Capistrano tasks (or custom deployment script), for example when you commit to or merge into your master branch.
Maybe it helps you as a starting point: http://www.relativkreativ.at/articles/keeping-your-codebase-healthy-with-git-hooks
(Shameless plug: At the moment, I'm writing an ebook which will cover everything from setting up your VPS for Rails hosting to deploying with a simple git push, so you may consider subscribing to my newsletter at the end of this article to be notified when I ship it.)
Hope that helps a bit!
My suggestion is to check out Capistrano; it offers pretty painless deployment once you've got your configs set up. I've been checking this out lately as well and it acts much similar to
The documentation is very helpful, I've found. We use Capistrano for all of our projects at my company. It can be simple enough for a one-off project, or for managing a whole slew of them (but if you're doing the latter, I also recommend using Capistrano with Webistrano, to manage them via a web admin).