Drupal Meetup Lisbon
Upcoming SlideShare
Loading in...5
×
 

Drupal Meetup Lisbon

on

  • 860 views

Presentation about deployment stages on drupal, from qa to live.

Presentation about deployment stages on drupal, from qa to live.

Statistics

Views

Total Views
860
Views on SlideShare
847
Embed Views
13

Actions

Likes
0
Downloads
17
Comments
0

2 Embeds 13

http://www.pauloamgomes2.net 7
http://www.pauloamgomes.net 6

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Drupal Meetup Lisbon Drupal Meetup Lisbon Presentation Transcript

  • Drupal Portugal “Deploy to production on Drupal” 18.06.2011 - Lisbon - Portugal 1 Paulo Gomes - www.pauloamgomes.net
  • Updating DrupalSpecific updates on: Modules Themes Content CoreMulti sites feature – same Drupal Core, differentsites 2
  • Updating Drupal (cont)Filesystem PHP Code (Templates, includes,...) Static files (CSS, JS, Media files) Configuration files (.htaccess files, settings.php)Database Configuration Content Caches 3
  • EnvironmentsDEV Low stability Developers usage Not always identical to liveQA/Staging Testing, new functionalities validation Need to be identical to liveLive/Production No downtimes allowed Content up to date Errors have high impact on business side 4
  • What wee need?Staging must be 100% identical to liveFew downtimes or zero downtimeError proofFull automated deploy to liveSimple and clean process 5
  • ApproachesDifferent approaches = different resultsDifferent ways Full automated Semi Automated + manual stepsSame results At the end all data is syncedDifferent downtimes Automated means faster Automated means less errors 6
  • ToolsA Ninja uses not one, but various toolsEvery tool as own skillsMany tools for same achievement, get focus onlyin oneDifferent environments “Unixes”: Apple OS X, Linux, Solaris, … MS WindowsA final solution is a mix of tools, each one has itsown importance 7
  • Tools (cont)Syncing..Syncing..files Drush Rsync, Unison, etc..Versioning Svn, Mercurial, GitSyncing again…database Mysql Drush Back & Migrate Drupal Module 8
  • Tools (cont)Syncing..Syncing..files Drush $
drush
rsync
@dev.mysite
 @local.mysite $
drush
rsync
./
 @local.mysite:%files/img


 
 Rsync, Unison, etc.. rsync
‐avz
‐e
ssh
/www/.
pauloamgomes@www.pauloamgomes.net:/www/.
 ‐‐exclude
".DS_Store"
‐‐exclude
".localized"

‐‐exclude
".hg" 9
  • Tools (cont)Syncing again…database Mysql $
mysqldump
‐‐opt
db_name
>
db.dump.sql $
mysql
‐‐database=db_name
‐u
drupal
‐pdb_pass

<
db.dump.sql Drush $
drush
sql‐dump
‐‐result‐file=db.dump.sql $
`drush
sql
connect`
<
db.dump.sql $
drush
sql‐sync
@dev.mysite
@local.mysite
‐‐sanitize
 Backup & Migrate Drupal Module 10
  • A simple UsecaseMaintaining a small site Some nodes with custom CCK Increasing nodes via Feeds Blog (CCK content and media files)Local Dev/staging environmentRemote Live environment Shared hosting SSH/SFTP access 11
  • A simple usecase (cont)Dev/Stg Local machine running an AMP Stack (Acquia Stack) on OSX Apache on port 8082 (Acquia rule), using ipf w for port for warding (80 8082) Unix tools (rsync, etc..) Mercurial Version ControlLive Shared hosting with ssh access Limited soft ware (perl, ruby gems) Limited configurations (no php.ini access) 12
  • A simple usecase (cont) 13
  • A simple usecase (cont) 14
  • More complex sitesComplexity means more probability for errors and higherdowntimesDownsizing environments Same Operating System and soft ware versions Same paths Same configurations Mysql, Apache Same tools Use of virtual environments Build tools (ant, phing) Virtual machinesUse of cloud services 15
  • More complex sites (cont) Continuous integration Full automation, with high granularity Test..test..test..and test again Fix errors and test again Deploy to live (and test again) 16
  • Nice to have…Updates without maintenance mode Cache all for visitors/users (varnish help?!) No cache mode for sanity checks (admin mode) Rollback without impacts (visitors only see cached pages)Delta updates on database schemaValidation on dependenciesAll operations in same command (drush)Better update tool (update.php) 17
  • Share your ideas! 18
  • About meI consider myself anewbie on Drupal withone year experienceusing Drupal 6 andmore recently Drupal 7.Any question please befree to contact me. 19
  • Referenceshttp://www.leveltendesign.com/blog/dustin-currie/synchronize-one-drupal-site-to-anotherhttp://civicactions.com/blog/2011/may/31/drupal_quality_assurance_with_dev_qa_livehttp://groups.drupal.org/node/56228http://greenbeedigital.com.au/content/drupal-deployments-workflows-version-control-drushmake-and-aegirhttp://nathan.rambeck.org/blog/7-using-drush-load-database-file 20