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

The content of this field is kept private and will not be shown publicly.