Wat is daarmis 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
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
• Geen benodigdesoftware 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
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
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