Posted by oddencreative on October 7, 2011 at 6:04pm
Is there a best practice for deploying between Dev, Staging, and Production? Who has worked with deploy. Are there other tools that people use to do the heavy lifting?
Is there a best practice for deploying between Dev, Staging, and Production? Who has worked with deploy. Are there other tools that people use to do the heavy lifting?
Comments
Hot topic
Yes, this is a hot one... I use Features to help with deployment but would love to hear about Deploy and other methods.
Kristen
Contact: https://www.hook42.com/contact
Drupal 7 Multilingual Sites: http://www.kristen.org/book
Great idea!
I would love to see how others do this, in detail. I haven't used Features to do this; I have been copying site images and database dumps around.
--Darryl Richman
http://darryl.crafty-fox.com
Maybe a new group?
I'm nowhere near Santa Cruz but interested in this topic - wondering if a new group here would be worthwhile - any supporters?
My staging sites work like this:
Periodically we swap the sites - staging becomes live. This is done by simply renaming directories (live->temp, staging->live, temp->staging) and restarting Apache. Additionally, clearing Drupal page cache, if in use. We leave the old live site intact (now at the staging address) for a reasonable time just in case we need to revert the change for some reason. Then, we resync back from so that staging is up to date again. Typically this involves using rsync for the filesystem and the Backup/Migrate module for the database, either manually or using scripts/drush. We rsync everything in and below the Drupal root directory except settings.php (since that's where we pick up the separate database for each version of the site.)
Minor points:
* It's best to clear the Drupal page cache if used, since pages are cached by url.
* If the staging site has performance options turned off (caching, CSS optimization etc) then either manually set those on both sites or, probably better, have appropriate settings in settings.php via $conf[] variables.
* Any in-content references to files etc need to be relative, not absolute, otherwise things won't work as expected.
I've considered sharing the files directory between staging+live (e.g. using a symbolic link.) Pros and cons - for now I'm keeping them independent.
Currently part of the team at https://lastcallmedia.com in a senior Drupal specialist role.