I need advice from deployment gurus.
I’m working on setting up a “permanent” stable deployment environment
for a large app that is going live. The application will be
undergoing significant new feature development after deployment, so
we will be keeping svn branches to separate stable from new features.
Right now, code is deployed by hand (svn up && mongrel_cluster
restart) from trunk. I will be setting up Capistrano for deployment
and misc. tasks. We aim to have 3 environments on the production
server: development (features branch), staging, and production.
My primary question is: should I deploy from trunk or a “release”
branch? Cal Henderson’s “Building Scalable Web S.s” suggests
deploying from a branch for larger projects and/or teams. This is a
large project, but not a large team (2 developers). If I deploy from
a branch, would that limit my ability to concurrently develop
multiple features in other branches? What would be the purpose of