Drupal Deployment

61,317 views
60,072 views

Published on

A gentle introduction to Drupal site deployment best practices, from the Do It With Drupal conference.

Published in: Technology
6 Comments
66 Likes
Statistics
Notes
No Downloads
Views
Total views
61,317
On SlideShare
0
From Embeds
0
Number of Embeds
717
Actions
Shares
0
Downloads
860
Comments
6
Likes
66
Embeds 0
No embeds

No notes for slide

Drupal Deployment

  1. Deployment The darkest of the Drupal arts
  2. Moving stuff to your live site
  3. Moving stuff to your live site (And living to tell about it)
  4. Deployment’s Five Commandments
  5. Thou Shalt Use Source Control You will always collide with “The Other Guy” You will always need to undo something
  6. Thou Shalt Smack Anyone Who Doesn’t It’s not really source control if Bob keeps changing things via FTP
  7. Thou Shalt Use Code Whenever Possible Code lives in source control Code is safer than the database
  8. Thou Shalt Test Thy Changes It always works just fine on your laptop
  9. Thou Shalt Document You will always be on vacation when the really big emergency happens
  10. The Launch
  11. Dev laptop cvs.drupal.org SVN server Live server
  12. What’s in SVN? public_html assets db_snapshots
  13. What’s in SVN? public_html assets db_snapshots
  14. What’s in SVN? public_html sites assets www.mysite.com files db_snapshots
  15. What’s in SVN? public_html sites assets www.mysite.com files db_snapshots
  16. The magic of symlinks VERSION_1 public_html VERSION_2
  17. The magic of symlinks VERSION_1 public_html VERSION_2 VERSION_3
  18. Fixin’ Bugs, Addin’ Features
  19. Dev laptop SVN server Live server
  20. Dev laptop SVN server Test server Live server
  21. Dev laptop SVN server Test server Live server db_snapshots
  22. Dev laptop SVN server Test server Live server db_snapshots
  23. Test, Test, Test
  24. Test
  25. Then Test
  26. Wipe the database then test again
  27. Dev laptop SVN server Test server Live server db_snapshots
  28. Don’t hack live
  29. Configuration Changes
  30. Export your Views
  31. Export your Views your_module.views_defaults.inc hook_views_default_views()
  32. Use update.php!
  33. Use update.php!
  34. simpletest.install
  35. http://api.drupal.org/api/function/hook_update_N
  36. Use helper functions, not interns
  37. Use helper functions, not interns CCK fields
  38. Use helper functions, not interns CCK fields Imagecache presets
  39. Use helper functions, not interns CCK fields Imagecache presets Rules configuration
  40. Use helper functions, not interns CCK fields Imagecache presets Rules configuration Menu items
  41. Use helper functions, not interns CCK fields Imagecache presets Rules configuration Menu items Taxonomy terms…
  42. Use helper functions, not interns CCK fields Imagecache presets Rules configuration Menu items Taxonomy terms… Install Profile API
  43. Devel module
  44. Wipe the database then test
  45. Test, Test, Test
  46. Test
  47. Then Test
  48. Syncing Content
  49. e ID 259 Nod ALSO Node ID 259
  50. Nodes my way by the Psychedelic Furs
  51. Nodes my way, Part 2 by the Psychedelic Furs
  52. Nodes my way, Epilogue by the Psychedelic Furs http://drupal.org/project/export_node
  53. Yeah, but...
  54. Don’t syncronize content.
  55. Don’t syncronize content. Feed API Publish and Subscribe Aggregator Import/Export...
  56. Workflow Moderation Drafts Editor Roles
  57. No Magic Bullets
  58. No Magic Bullets • Figure out your organization
  59. No Magic Bullets • Figure out your organization • Find matching tools
  60. No Magic Bullets • Figure out your organization • Find matching tools • Roll your own
  61. No Magic Bullets • Figure out your organization • Find matching tools • Roll your own • Document! Document! Document!
  62. Tools to watch • Drush (do Drupal stuff from the command line) http://drupal.org/project/drush • Install Profile API (helper code for updates) http://drupal.org/project/install_profile_api • Patterns (save site configuration in XML) http://drupal.org/project/patterns • Deployment (push site changes via XMLRPC) http://drupal.org/project/deploy • Aegir (manage multiple sites from one UI) http://groups.drupal.org/aegir-hosting-system

×