Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automating Drupal Deployment Dominique De Cooman.

Similar presentations


Presentation on theme: "Automating Drupal Deployment Dominique De Cooman."— Presentation transcript:

1 Automating Drupal Deployment Dominique De Cooman

2  Developer for 5 years  Web agencies in Belgium  http://drupal.org/user/199987 http://drupal.org/user/199987  Contributions  Blog http://dominiquedecooman.com Who am I

3  Faster  Less errors  Well documented  Reproducable  History  Continous Integration Why deploying automaticaly

4  Vps with a Lamp stack  Version control – Git  Drush  Drupal of course  Dev – Staging – Production setup  Continous integration server  Deployment scripts Basic components

5  Vps  You can get a vps from 12€/month on most hosting platforms. There are trials available everywhere  Example:  https://www.gandi.net/hosting/trial/ https://www.gandi.net/hosting/trial/  https://control.vps.net/trial-signup https://control.vps.net/trial-signup How to set it up?

6  Plenty of installation scripts online  Example  http://www.dominiquedecooman.com/blog/automate- installing-drupal-ubuntu-drupal-training-purpose Install your lamp stack

7  Git  We will use the succesfull branching model  http://nvie.com/posts/a-successful-git-branching-model/  Git flow  Production branch  Development branch  Release branch  Hotfixes  Install  Git flow  Bash complete Version control

8  DRUpal SHell  Install  http://drupal.org/project/drush  Drush aliasses  Simplyfies executing commands in builds Drush

9  Create a proper repository layout  Bash  Updates  Installs  scripts  Docroot  Documentation  Etc  Drupal (settings files, robot.txt, htaccess, …)  Drush - aliases  Ssh  vhost  Configure you server to connect to drupal. Drupal

10  Jenkins  Install  https://wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu https://wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu  Why?  Automate our workflow  Execute our tests Continous integration server

11  Exporting database changes  Configuring jenkins jobs  Writing deployment scripts Automating the workflow

12  Use features  Use hook_update()  D8 configuration management in core Exporting database changes

13  Jenkins  Create jobs  Environments  Testbots  Basic setup  General settings  Repository configuration  Build triggers  Post build actions Configuring the jobs

14  Copy files  Update the code  Settings file  Copy build script Build section

15  Enable/Disable ui modules  Set environment specific variables  Error_level  Cache  Revert features  Update the database  Flush cache Deploy scripts

16  Modules  Leave the opportunity to debug  Error level  Caching settings  Staging and production must by identical  Representative  No testrun on production Differences per environment

17  Develop on feature branch  Run testbot – fix error  Export changes  Commit  Merge feature in development branch  Deploy on development environment  Monitor job execution  Evaluate tests  Manual testing  Create release branch  Deploy release branch on staging environment  Evaluate tests  Merge branch into master and development  Deploy master on production environment  Create hotfix branch - maintenance  Test and deploy hotfix branch  Merge hotfix into master and merge into development  Deploy master Demo

18  http://dominiquedecooman.com http://dominiquedecooman.com  http://durpal.org/user/199987 http://durpal.org/user/199987  http://twitter.com/dominiquedc http://twitter.com/dominiquedc References

19  Minimizing overhead with git flow http://dominiquedecooman.com/blog/git-flow-minimizing-overhead http://dominiquedecooman.com/blog/git-flow-minimizing-overhead  Installing lamp stack http://www.dominiquedecooman.com/blog/automate-installing- drupal-ubuntu-drupal-training-purpose http://www.dominiquedecooman.com/blog/automate-installing- drupal-ubuntu-drupal-training-purpose  Go live checklist http://www.dominiquedecooman.com/blog/drupal- 7-tip-how-automate-and-control-your-go-live-checklisthttp://www.dominiquedecooman.com/blog/drupal- 7-tip-how-automate-and-control-your-go-live-checklist  Install jenkins https://wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntuhttps://wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu  https://www.gandi.net/hosting/trial/ https://www.gandi.net/hosting/trial/  Get all the code, job scripts and presentation overview: http://dominiquedecooman.com/blog/automating-drupal- deployment http://dominiquedecooman.com/blog/automating-drupal- deployment Resources


Download ppt "Automating Drupal Deployment Dominique De Cooman."

Similar presentations


Ads by Google