Staging Drupal: Managing your project in multiple environments
This session familiarized attendees with the tools and processes used to manage development, QA, and production of Drupal projects. Speakers Michelle Lauer (@lauermichelle) and Christopher Pliakas (@cpliakas) presented some solutions for developing a site in multiple environments. I only blogged the part of Christopher. Michelle went too fast to keep up with, I attached the slides so you can read her very useful presentation with lots of examples and tips.
Why Stage Drupal?
- Websites are becoming increasingly complex
- Transition to traditional software delopment cycle
- Multiple engineers/designers working on the same project
- Proper staging avoids confilcts, seperates development from production
Multiple environments
- Proper staging requires development, QA, and production locations
- Each developer has a seperate copy of the application in an isolated location
- Flow is like a pipeline, development -> QA -> production
- Drupal is portable
- How to stage Drupal?
Managing Code With Source Control
- Source Control is essential in the staging process
- Manages changes to the code over time
- We recommend a standard “tags, branches, trunk” repository layout
- We seperate core code from project code
- Rsync –avC –delete –exclude=dir src/ dest
What files should be under Source Control?
- Seperate code from user generated content
- Create “templates” for environment specific files
- Store database snapshots?
- Update code frequently to prevent confilcts
- Check production for modifications
Porting the database
- Database snapshot and files tied together
- Mysqldump, pg_dump, *myadmin applications, contributed solutions
- Restore database, clear cache
- Multisite considerations
Code Release Cycle
- Developers import snapshot, commit changes
- Changes promoted to QA, tested thoroughly
- Admin steps, adding content tested on QA
- Code is tagged
- Code updated on production, manual changes made again
- Alpha, beta, stable release cycles
A systematic approach
- Automate Administrative Tasks Through Code
- Take a snapshot with Demonstration Site module
- Use an update script
- The Site Module (good for every site)
Name Correction
Thanks for the review of our session. I just wanted to note a spelling error.
Michelle Lauer (@lauermichelle)
Thanks!
I changed it!
Hi Michelle,
thanks for the session. It was an informative one in which I've learned a lot. See you in DrupalCon SF?
Thank you! (Also bad link to PDF)
Hello Baris --
Thanks to you for posting this, and thanks to Michelle and Christopher for writing this great presentation.
I did notice that the link to the slides in the post seems broken http://drupal.bariswanschers.com/listen/%20http://drupal.bariswanschers.... should be just everything from the second http:// onward.
But most of all, thanks very much!
Tom
Fixed
Thanx for the nice words Tom, I fixed the link :)
Very good post, thanks a lot.
Very good post, thanks a lot.
Post new comment