Drupal deployments met                          Capistrano                          Openminds techtalk - 17/10/2012       ...
Hoe deploy je nu?                    • Backup database                    • Code updaten (met git? scp? sftp?)            ...
Wat is daar mis mee?                          Teveel manuele handelingen verhogen de kans                                 ...
Ideaal scenario                • Snel deployen door alle manuele processen te                          automatiseren      ...
• Open Source                • Gemaakt om Rails Apps te deployen                • Rubydonderdag 25 oktober 12
Rubygems                          gem install capistrano capistrano-ext railsless-deploy                          capistra...
SSH                     Keypair          Machines                          Pri          Laptop                          Pu...
Versiecontrole                    • Git, SVN, ...                    • code bijhouden in versies                    • te ‘...
DEMOdonderdag 25 oktober 12
• Geen benodigde software op de server                • Capistrano voert commandos uit over ssh                • Uitbreidb...
Aanpassen voor Drupal                          Bij deploy:setup:                • Symlink voor sites/default/files -> share...
donderdag 25 oktober 12
capistrano-drupal gem                • Veelvoorkomende Drupal deployment tasks                          (Drush commands)  ...
capistrano-drupal gem                          deploy:setup                • files directory in shared                • set...
capistrano-drupal gem                          drupal:symlink_shared                • settings.php en files directory symli...
capistrano-drupal gem                          drush:update                • drush updatedb                • after ‘deploy...
capistrano-drupal gem                          drush:cache_clear                • drush cc                • after ‘deploy:...
capistrano-drupal gem                                Update Code                           Symlink files directory &       ...
DEMOdonderdag 25 oktober 12
Probleem                • alle configuratie zit in de database                • Continuous Integration moeilijk            ...
Ideale situatie                          2-richtingsverkeer                • Content komt terug upstream, naar Stag en    ...
Oplossing                          Configuratie in code                •         Versiecontrole (Git, SVN, ...)            ...
donderdag 25 oktober 12
Context en Features                                 Module                • Context zijn set regels tijdens page load, zie...
Features Drush                • drush features-update feature_name                • drush features-revert feature_namedond...
Capo.iodonderdag 25 oktober 12
Enddonderdag 25 oktober 12
Upcoming SlideShare
Loading in...5
×

Drupal deployments met capistrano

1,538

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,538
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Drupal deployments met capistrano

  1. 1. Drupal deployments met Capistrano Openminds techtalk - 17/10/2012 @openminds www.openminds.bedonderdag 25 oktober 12
  2. 2. Hoe deploy je nu? • Backup database • Code updaten (met git? scp? sftp?) • updatedb uitvoeren • cache flushendonderdag 25 oktober 12
  3. 3. Wat is daar mis mee? Teveel manuele handelingen verhogen de kans op fouten.donderdag 25 oktober 12
  4. 4. Ideaal scenario • Snel deployen door alle manuele processen te automatiseren • Manuele processen individueel oproepen adhv ‘tasks’ • Snel een deploy ‘ongedaan’ makendonderdag 25 oktober 12
  5. 5. • Open Source • Gemaakt om Rails Apps te deployen • Rubydonderdag 25 oktober 12
  6. 6. Rubygems gem install capistrano capistrano-ext railsless-deploy capistrano-drupaldonderdag 25 oktober 12
  7. 7. SSH Keypair Machines Pri Laptop Pub Server Githubdonderdag 25 oktober 12
  8. 8. Versiecontrole • Git, SVN, ... • code bijhouden in versies • te ‘pushen’ naar een repository (repo) • Capistrano zal code van repo halendonderdag 25 oktober 12
  9. 9. DEMOdonderdag 25 oktober 12
  10. 10. • Geen benodigde software op de server • Capistrano voert commandos uit over ssh • Uitbreidbaar adhv tasksdonderdag 25 oktober 12
  11. 11. Aanpassen voor Drupal Bij deploy:setup: • Symlink voor sites/default/files -> shared/files • sites/default/settings.php -> shared/settings.php Na deploy: • Tasks voor drush commandsdonderdag 25 oktober 12
  12. 12. donderdag 25 oktober 12
  13. 13. capistrano-drupal gem • Veelvoorkomende Drupal deployment tasks (Drush commands) • implementeert before en after hooksdonderdag 25 oktober 12
  14. 14. capistrano-drupal gem deploy:setup • files directory in shared • settings.php in shareddonderdag 25 oktober 12
  15. 15. capistrano-drupal gem drupal:symlink_shared • settings.php en files directory symlinken naar shared • after deploy:symlinkdonderdag 25 oktober 12
  16. 16. capistrano-drupal gem drush:update • drush updatedb • after ‘deploy:symlink’donderdag 25 oktober 12
  17. 17. capistrano-drupal gem drush:cache_clear • drush cc • after ‘deploy:symlink’donderdag 25 oktober 12
  18. 18. capistrano-drupal gem Update Code Symlink files directory & settings.php Update DB Flush cachesdonderdag 25 oktober 12
  19. 19. DEMOdonderdag 25 oktober 12
  20. 20. Probleem • alle configuratie zit in de database • Continuous Integration moeilijk • wat met meerdere developers?donderdag 25 oktober 12
  21. 21. Ideale situatie 2-richtingsverkeer • Content komt terug upstream, naar Stag en Dev • Configuratie downstream: Stag en Proddonderdag 25 oktober 12
  22. 22. Oplossing Configuratie in code • Versiecontrole (Git, SVN, ...) • Te debuggen • Te diffen • Reproduceerbare resultaten • opdeling tussen content en configuratiedonderdag 25 oktober 12
  23. 23. donderdag 25 oktober 12
  24. 24. Context en Features Module • Context zijn set regels tijdens page load, ziet wat actief is • Features pakt dit in met ‘code’ (views, node, types) • Features te enablen met ‘drush’ • Drush runnen vanuit capistranodonderdag 25 oktober 12
  25. 25. Features Drush • drush features-update feature_name • drush features-revert feature_namedonderdag 25 oktober 12
  26. 26. Capo.iodonderdag 25 oktober 12
  27. 27. Enddonderdag 25 oktober 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×