What is your version control and deployment workflow with Rails?
- Create a copy of my personal Rails 2.1.1 template with preinstalled plugins and frozen gems.
- Change DB passwords, session secret/name and
deploy.rb
. - Create a private or public repository on GitHub as needed.
- Push the empty rails project to GitHub.
- SSH to Server and configure apache (copy Virtual Host file and mongrel config files from old project)
- Create empty database on MySQL server
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.
- Create a new empty project inNetBeans.
- Fire deprec (http://www.deprec.org) to installthe Rails stack, including versioncontrol, on the target slice.
- Commit the empty project to Subversion.
- Using Capistrano, test deploy.
- 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.
this guy documents every workflow he's ever experienced
http://subtlegradient.com/articles/2007/03/30/web-development-environment-and-workflow