D8 Deployment and Continuous Integration
-
Upload
amin-alid -
Category
Technology
-
view
171 -
download
3
description
Transcript of D8 Deployment and Continuous Integration
D8 Deployment and Continuous Integration
Amin Alid, CTO, Anolim GmbH
Web and mobile developmentB2B solutions, financial solutions
Amin Alid, CTO, Anolim [email protected]
Virtual Data Centers for devsProgrammable Infrastructure
http://anolim.com
http://www.safeswisscloud.ch
Why CI?How is it done?How will D8 improve things?
3Things..
Why CI??
Ever had to...
Spend hours preparing to go live?
Spend an unplanned week of bug fixing after each deployment?
Ever had to...
Deal with a fragile website that breaks everytime you touch it?
Integration time…
What would it take to...
Deliver faster & increase quality?
What would it take to...
Do more meaningful work Less bug fixing
Happy client & happy team
What we did...
Maintain a code repository Understand your branching model
What we did...
Quick, automated builds
What we did...
Integrate into a live like environment
What we did...
Commit and build often Make the build self testing
What we did...
Test on a clone of production
Automate deployment to production
Results...
Painful deployment to one click deployment
Results...
From 3h to 15 min
Results...
From days to prepare and stabilize to
barely any maintenance
Results...
From bug fixing to new features
How is CI done?7Drupal
Tools and practices...
Update hook, Features, Drush, Configuration module, WF Tools
Features, workflow
DrushEnable, disable modules and featuresdrush en -y devel views_ui
Put site on maintenance, set variablesdrush vset --yes maintenance_mode 1
Sync and sanitize datadrush sql-sync -y @user.prod --sanitizedrush -y rsync @user.prod:%files/ @self:%files
Evaluate codedrush ev ‘$user = user_load(112)’drush sqlq “UPDATE block SET ...”
Any custom drush command
SaltStack
Vagrant, CloudStack
Tools and practices...
Jenkins, Phing SimpleTest, Selenium
D7: Limitations, problems
Hard to track configurations with FeaturesLimited integration with external tools
How will D8 help me?8Drupal
D8 Improvements...
Core Configuration Management API File based configurations!
D8 Configuration Management
D8 Improvements...
Features 3.XState APIComposer for dependenciesSimpleTest to PHPUnit
To Do...
Finalize APIsContributed modules on top of new APIsIntegration into different external CI tools
Conclusion...
CI is good for you D8 is here to help We need contribution
Happy client & Happy team
Thanks!http://prague2013.drupal.org/session/drupal-8-deployment-and-continuous-integration