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

Drupal Deployment Automation using AWS Elastic ...

Drupal Deployment Automation using AWS Elastic Beanstalk and Docker

presented at Drupal Camp Sg 2014, at Singapore Management University, Singapore

Paul de Paula

June 14, 2014
Tweet

More Decks by Paul de Paula

Other Decks in Technology

Transcript

  1. Paul de Paula Senior Drupal Developer @ X-Team Drupal  Camp

     Singapore  2014   Singapore  Management  University   June  14,  2014  
  2. •  Opensource  Advocate  for  7  years   •  Drupal  Evangelist

     since  2010   •  Former  Lead  Developer  of            abs-­‐cbnnews.com   •  Former  Senior  Developer  @  New   Amsterdam  Ideas   •  Senior  Drupal  Developer  @  X-­‐TEAM   •  Proud  father  to  my  three  girls  
  3. •  Openstack  and  Drupal  AutomaQon  @   hRps://github.com/fusionx1/openstack-­‐drupal-­‐automaQon   • 

    DKAN  DistribuQon  @   hRps://drupal.org/project/dkan     •  OpenCivic  DistribuQon  @   hRps://drupal.org/project/opencivic     •  Drush  Deployment  Manager  @   hRps://drupal.org/project/drush_deployment     •  Azure  Table  Storage  @   hRps://drupal.org/sandbox/fusionx1/2007610    
  4. •  AWS  Beanstalk  and  Docker     IntroducQon   • 

    Drush  Deployment  Manager   •  Beanstalk  +  Docker  +  Drush   •  Demo  PresentaQon   •  Q  and  A  
  5. It’s  a  service  from  Amazon  Web  Services  that  allows  

    users  to  create  applicaQons  and  push  them  to  a   definable  set  of  AWS  services,  including  :   •  Amazon  EC2   •  Amazon  S3   •  Amazon  Simple  NoQficaQon  Service(SNS)   •  Amazon  Cloud  Watch     •  Auto  Scaling   •  ElasQc  Load  Balancers.  
  6. “Docker  is  an  open-­‐source  project   that  automates  the  deployment

     of   applicaQons  inside  sohware   containers”                                                                                -­‐-­‐  Wikipedia  
  7. This  module  is  based  on  drush_deploy   module  wriRen  by

     Mark  Sonnabaum,  but   concentrated  on  tagging  not  branching.    
  8. Drush  deployment-­‐config  -­‐  Return  an  array  of  configuraQon.   Drush

     release-­‐check-­‐target  -­‐  Check  the  target  directory  is  a  valid  git   repository.   Drush  git-­‐init  -­‐  IniQalize  git  in  target  directory.   Drush  release-­‐tag  -­‐  Checkout/deploy  a  tag.   Drush  clone-­‐repo  -­‐  Clone  a  repository.   Drush  list-­‐tags  -­‐  List  all  tags   Drush  latest-­‐tag  -­‐  Get  the  latest  tag   Drush  tag-­‐notes  -­‐  Display  commit  notes  between  tags