Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Basic Deployment techtalk

Basic Deployment techtalk

Techtalk over basis deployment met SSH-keys en Capistrano

Bernard Grymonpon

March 27, 2012
Tweet

More Decks by Bernard Grymonpon

Other Decks in Technology

Transcript

  1. Klassiek scenario •(backup nemen voor we beginnen?) •FTP: files uploaden

    •PHPMyAdmin: enkele queries/changes/... •Surfen naar de site... Tuesday 27 March 2012
  2. Problemen •Kans op fouten •Oude files / backups ... •Niet

    iedereen kan deployen Tuesday 27 March 2012
  3. Files •Data files (uploads, pdf, cache ...) •Programma files (php,

    css, js ...) •Configuratie files (settings.php, database.yml ...) Tuesday 27 March 2012
  4. Ideaal scenario •kopie van huidige/werkende site •nieuwe programmatuur binnenhalen •“updates”

    draaien (DB, structuur) •zonder data files te overschrijven/ dupliceren •bij problemen: rollback Tuesday 27 March 2012
  5. Kopie/backup •Bijhouden van “releases” •“current” is de actieve release •data/config

    via symlinks/kopies binnen de release brengen •rollback eenvoudig Tuesday 27 March 2012
  6. SSH keypair •identiteitskaart van jezelf •publiek en privaat deel •passphrase

    ter bescherming •maken met ssh-keygen •één keer in een leven!!! Tuesday 27 March 2012
  7. SSH key login •Publiek deel bij de hosting •Privaat deel

    van u •Privaat deel gecontroleerd met een publiek deel op de hosting: login toegelaten •Meerdere publieke delen per hosting Tuesday 27 March 2012
  8. publiek deel •Mag je op je site openbaar zetten •in

    “.ssh/authorized_keys” waar je wil inloggen •in webinterfaces (bvb github) Tuesday 27 March 2012
  9. SSH agent •“aanbieden van privaat deel” •daemon op je systeem

    die je key kent •doorgeven van authenticatie-verzoeken van daemon naar daemon Tuesday 27 March 2012
  10. Laptop Server Pri Pub Paswoordloze login mogelijk Hier niet meer

    Github Pub Paswoordloze login Tuesday 27 March 2012
  11. Paswoordloze login mogelijk Laptop Server Github Pri Pub Pub Met

    agent forwarding Pri Tuesday 27 March 2012
  12. Paswoordloze login mogelijk Laptop Server Github Pri Pub Pub Met

    agent forwarding Pri Paswoordloze login mogelijk Tuesday 27 March 2012
  13. Windows •Putty is de de-facto standaard •putty is eigenlijk ssh

    •pagent is de agent (daemon) •puttygen maakt een nieuwe key http://www.chiark.greenend.org.uk/~sgtatham/putty/ download.html Tuesday 27 March 2012
  14. Capistrano •Origineel tool om rails te deployen •Vandaag tool om

    set van taken uit te voeren op remote servers •Gemaakt in Ruby, eenvoudige dependencies, is een gem https://github.com/capistrano/capistrano#readme Tuesday 27 March 2012
  15. Capfile •een file per project •taken in de file •roles

    (eigenlijk servers) Tuesday 27 March 2012
  16. Voorbereiding •public key in .ssh/authorized_keys op de hosting •site-code op

    github/centraal/... •capify in je source-tree Tuesday 27 March 2012
  17. capify . •Maakt een Capfile •Maakt een config/deploy.rb •Deze mogen

    (moeten) mee in je repository Tuesday 27 March 2012
  18. cap deploy •Op de server: nieuwe code uitchecken van github

    •In de nieuwe checkout - data mappen en config files op hun plaats zetten/linken Tuesday 27 March 2012
  19. Drupal •settings.php is config (rest in DB) •Drush kan helpen

    met bvb update.php •files-map is shared •Meerdere branches is handig (drupal, modules, ...) Tuesday 27 March 2012