3. Wat is daar mis mee?
Teveel manuele handelingen verhogen de kans
op fouten.
donderdag 25 oktober 12
4. Ideaal scenario
• Snel deployen door alle manuele processen te
automatiseren
• Manuele processen individueel oproepen adhv
‘tasks’
• Snel een deploy ‘ongedaan’ maken
donderdag 25 oktober 12
5. • Open Source
• Gemaakt om Rails Apps te deployen
• Ruby
donderdag 25 oktober 12
7. SSH
Keypair Machines
Pri Laptop
Pub Server
Github
donderdag 25 oktober 12
8. Versiecontrole
• Git, SVN, ...
• code bijhouden in versies
• te ‘pushen’ naar een repository (repo)
• Capistrano zal code van repo halen
donderdag 25 oktober 12
10. • Geen benodigde software op de server
• Capistrano voert commandos uit over ssh
• Uitbreidbaar adhv tasks
donderdag 25 oktober 12
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 commands
donderdag 25 oktober 12
20. Probleem
• alle configuratie zit in de database
• Continuous Integration moeilijk
• wat met meerdere developers?
donderdag 25 oktober 12
21. Ideale situatie
2-richtingsverkeer
• Content komt terug upstream, naar Stag en
Dev
• Configuratie downstream: Stag en Prod
donderdag 25 oktober 12
22. Oplossing
Configuratie in code
• Versiecontrole (Git, SVN, ...)
• Te debuggen
• Te diffen
• Reproduceerbare resultaten
• opdeling tussen content en configuratie
donderdag 25 oktober 12
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 capistrano
donderdag 25 oktober 12
25. Features Drush
• drush features-update feature_name
• drush features-revert feature_name
donderdag 25 oktober 12