What is your version control and deployment workflow with Rails? What is your version control and deployment workflow with Rails? ruby ruby

What is your version control and deployment workflow with Rails?


  1. Create a copy of my personal Rails 2.1.1 template with preinstalled plugins and frozen gems.
  2. Change DB passwords, session secret/name and deploy.rb.
  3. Create a private or public repository on GitHub as needed.
  4. Push the empty rails project to GitHub.
  5. SSH to Server and configure apache (copy Virtual Host file and mongrel config files from old project)
  6. Create empty database on MySQL server
  7. cap deploy:setup && cap deploy:cold

If everything works so far: Start developing and committing to GitHub. cap deploy as needed.

Update: Don't forget to write tests for everything you do!


Using Windows Vista and a fresh Ubuntu install at Slicehost.

  1. Create a new empty project inNetBeans.
  2. Fire deprec (http://www.deprec.org) to installthe Rails stack, including versioncontrol, on the target slice.
  3. Commit the empty project to Subversion.
  4. Using Capistrano, test deploy.
  5. Begin actual development after I've verified that I can access theRails start page and, possibly,scaffolding. (This is really notnecessary because I've done this several times and the software works like it says it does.)

Deprec is seriously magic -- it takes the time it takes to clean-start a Rails project (including server configuration and all that jazz) from about a working day down to about an hour -- and that is an hour where you can be doing coding while everything installs.