views:

764

answers:

3

Especially when considering a fresh Rails project, what does your version control and deployment workflow look like? What tools do you use?

I'm interested in answers for Mac, *nix and Windows work machines. Assume a *nix server.

I'll edit for clarity if need be.

+8  A: 
  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 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!

Christoph Schiessl
+2  A: 

Using Windows Vista and a fresh Ubuntu install at Slicehost.

  1. Create a new empty project in NetBeans.
  2. Fire deprec (http://www.deprec.org) to install the Rails stack, including version control, 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 the Rails start page and, possibly, scaffolding. (This is really not necessary 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.

Patrick McKenzie
+2  A: 

this guy documents every workflow he's ever experienced

http://subtlegradient.com/articles/2007/03/30/web-development-environment-and-workflow

Gene T