I need some advice about setting up a system for managing a Drupal site that needs a development, staging, and (2) live servers. I'm having some trouble finding an active discussion of this problem and it sure seems like a pickle. I may need to bring in someone with more experience to help us get this working correctly.

We have the typical needs: development needs to get pushed to staging w/ out borking the CCK fields and otherwise messing with content. The marketing department needs to be able to work on content with revision and workflow control on the staging server and then marketing needs to be able to push approved content to live. Likewise dev needs to be able to push functional changes live once tested and approved on staging.

Any advice would be appreciated. If there's a better active forum for this topic please let me know.

Comments

attiks’s picture

have a look at code driven development, for a quick intro see http://www.slideshare.net/nuvoleweb/first-steps-in-code-power-development

basic principles
- don't store code/settings in db
- use features, exportables, strongarm, ...
- code goes from dev to stage to live
- data goes from live to stage to dev
- use git

if you want to make it even easier have a look at
- drush, see http://drupal.org/project/drush
- aegir, see http://groups.drupal.org/hostmaster2

limako’s picture

I recently wrote a guide to managing multisite staging on a single server by using (1) a virtualhost on another port number as the development site and (2) scripts to automate creating the development space from production and switching between development and production with zero downtime: http://drupal.org/node/942540