Drush 

Workflow 

Power



http://www.jacksonriver.com/blog/drush-staging-workflow

About Me


Ron Northcutt
@rlnorthcutt

About JR

  • Springboard Platform
  • Large non-profit clients
  • Emilys List, ASPCA, Rescue.org, IFAW


Now Hiring!
Do good work helping support good causes.
Work from home with an amazing team.
http://www.jacksonriver.com/careers

Which Monkey?



            

Managing code





GIT

Managing Everything else


DB & Files Manual option
  1. track down server creds
  2. mysql dump
  3. scp sql file
  4. scrub sql  (insert scary stories)
  5. import
  6. ignore files or rsync
  7. reset dev environment
  8. time : way too long

slow, error prone, dangerous, scary

Everything Else take 2


DB & Files Drush option

$> drush sync-site

time : MUCH faster

safer, more secure, easier, betterer

files : sync-files OR stage_file_proxy

What you need


  1. drush server aliases : $> drush @prod cc all
  2. structure/skip tables array : (note on wildcards)
  3. drush command aliases : so this
    $> drush sql-dump --structure-tables-key=common+springboard --skip-tables-key=common
     -- becomes --
    $> drush get-db
  4. custom drush commands : $> drush go-local
  5. settings.php adjustment : store dev/staging/prod settings in the repo, but still hide local

where to get it

Overview and explanation
http://www.jacksonriver.com/blog/drush-staging-workflow

Github repo
http://github.com/JacksonRiver/sb-drush-workflow

Look at the code




HOMEWORK


  1. Find a project that needs better workflow
  2. Get & customize the drush setup
  3. Get & customize the settings files
  4. Commit to your repo
  5. Use drush like a pro

Bonus

Teach someone else

Questions?

Made with Slides.com