SlideShare a Scribd company logo
1 of 21
Download to read offline
Drush deploy 
Goruachev Mikhail
About drush-deploy 
● Drush deploy is a deployment framework built on Drush. 
● It is heavily influenced by Capistrano. 
Version control is not deployment tool
Analogs 
Capistrano 
Fabric
Why use Drush deploy? WHY?
KISS* 
*keep it short and simple
REQUIREMENTS 
- Drush 
- php 5.3 
- git
Installing drush-deploy 
cd ~/drush 
git clone git@github.com:AmazeeLabs/drush_deploy.git 
drush cc drush 
drush
Are you ready, drupal?!
aliases.drushrc.php
What about multi server Deployments? 
https://github.com/drush-ops/drush/blob/master/examples/example.aliases.drushrc.php
deploy.drushrc.php 
https://github.com/drush-ops/drush/blob/master/examples/example.drushrc.php
Filesystem Structure 
drush deploy-setup @web1
Filesystem Structure 
Current - Is a symlink to the 
latest release directory; 
Releases - Is a releases 
directory; 
Shared- (Git Cache / 
Configuration); 
httpdocs- Webroot (symlink 
to current);
TASKS
Tasks 
● Before or after moving to new version 
● On one or all servers 
● Any console commands
drush deploy @web1 
● updates your remote cache 
● initializes and updates git submodules 
● creates a new release directy 
● copies your current codebase to the release directory 
● links the ‚current‘ directory with your new deployed code 
● executes your tasks
drush deploy-rollback @web1 
● relinks the current directory with the previos release 
● removes the faulty release
Example
local files
Remote host 
Before After
Some questions? 
Goruachev Mikhail 
Email: Goruachev42@gmail.com

More Related Content

What's hot

Modularity - The future, building, packaging
Modularity - The future, building, packagingModularity - The future, building, packaging
Modularity - The future, building, packagingLangdon White
 
Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013Jon Peck
 
Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Andrea Francia
 
Docker 활용법: dumpdocker
Docker 활용법: dumpdockerDocker 활용법: dumpdocker
Docker 활용법: dumpdockerJaehwa Park
 
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaTutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaArun Ganesh
 
Archlinux dev environment
Archlinux dev environmentArchlinux dev environment
Archlinux dev environmentLuke Luo
 
Local testing of Containerized Distributed Systems
Local testing of Containerized Distributed SystemsLocal testing of Containerized Distributed Systems
Local testing of Containerized Distributed SystemsJustin Carter
 
Docker - Lightweight Virtualization
Docker - Lightweight VirtualizationDocker - Lightweight Virtualization
Docker - Lightweight VirtualizationMehdi Hasan
 
Qt native built for raspberry zero
Qt native built for  raspberry zeroQt native built for  raspberry zero
Qt native built for raspberry zeroSoheilSabzevari2
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on DockerRightScale
 

What's hot (11)

Modularity - The future, building, packaging
Modularity - The future, building, packagingModularity - The future, building, packaging
Modularity - The future, building, packaging
 
Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013Drush for humans - SANDcamp 2013
Drush for humans - SANDcamp 2013
 
Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009Subversion @ JUG Milano 11 dic 2009
Subversion @ JUG Milano 11 dic 2009
 
Docker 활용법: dumpdocker
Docker 활용법: dumpdockerDocker 활용법: dumpdocker
Docker 활용법: dumpdocker
 
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of IndiaTutorial to setup OpenStreetMap tileserver with customized boundaries of India
Tutorial to setup OpenStreetMap tileserver with customized boundaries of India
 
Archlinux dev environment
Archlinux dev environmentArchlinux dev environment
Archlinux dev environment
 
Local testing of Containerized Distributed Systems
Local testing of Containerized Distributed SystemsLocal testing of Containerized Distributed Systems
Local testing of Containerized Distributed Systems
 
Docker
DockerDocker
Docker
 
Docker - Lightweight Virtualization
Docker - Lightweight VirtualizationDocker - Lightweight Virtualization
Docker - Lightweight Virtualization
 
Qt native built for raspberry zero
Qt native built for  raspberry zeroQt native built for  raspberry zero
Qt native built for raspberry zero
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on Docker
 

Viewers also liked

Tips On Getting Everything You Can Out of Drupal Form API'
Tips On Getting Everything You Can Out of Drupal Form API' Tips On Getting Everything You Can Out of Drupal Form API'
Tips On Getting Everything You Can Out of Drupal Form API' Lemberg Solutions
 
Getting the lead out
Getting the lead outGetting the lead out
Getting the lead outjoshuaglazov
 
TAMU Library Orientation Fall 2013
TAMU Library Orientation Fall 2013TAMU Library Orientation Fall 2013
TAMU Library Orientation Fall 2013Patricia Alford
 
What Makes A Health App Effectivefinal
What Makes A Health App EffectivefinalWhat Makes A Health App Effectivefinal
What Makes A Health App EffectivefinalKhoelper
 
`From Prototype to Drupal` by Andrew Ivasiv
`From Prototype to Drupal` by Andrew Ivasiv`From Prototype to Drupal` by Andrew Ivasiv
`From Prototype to Drupal` by Andrew IvasivLemberg Solutions
 
14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재
14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재
14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재CARE Coexistence of Animal Rights on Earth
 
Drupal services - Lemberg Solutions
Drupal services - Lemberg SolutionsDrupal services - Lemberg Solutions
Drupal services - Lemberg SolutionsLemberg Solutions
 
11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연
11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연
11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연CARE Coexistence of Animal Rights on Earth
 

Viewers also liked (13)

Tips On Getting Everything You Can Out of Drupal Form API'
Tips On Getting Everything You Can Out of Drupal Form API' Tips On Getting Everything You Can Out of Drupal Form API'
Tips On Getting Everything You Can Out of Drupal Form API'
 
Getting the lead out
Getting the lead outGetting the lead out
Getting the lead out
 
Saks Fifth Avenue
Saks Fifth AvenueSaks Fifth Avenue
Saks Fifth Avenue
 
TAMU Library Orientation Fall 2013
TAMU Library Orientation Fall 2013TAMU Library Orientation Fall 2013
TAMU Library Orientation Fall 2013
 
Restful webservices
Restful webservicesRestful webservices
Restful webservices
 
What Makes A Health App Effectivefinal
What Makes A Health App EffectivefinalWhat Makes A Health App Effectivefinal
What Makes A Health App Effectivefinal
 
Introducing Lemberg
Introducing LembergIntroducing Lemberg
Introducing Lemberg
 
`From Prototype to Drupal` by Andrew Ivasiv
`From Prototype to Drupal` by Andrew Ivasiv`From Prototype to Drupal` by Andrew Ivasiv
`From Prototype to Drupal` by Andrew Ivasiv
 
14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재
14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재
14 20101009동물보호시민활동의실제(6)노령견과함께하는즐거운반려생활 조우재
 
Open Social
Open Social Open Social
Open Social
 
Drupal services - Lemberg Solutions
Drupal services - Lemberg SolutionsDrupal services - Lemberg Solutions
Drupal services - Lemberg Solutions
 
Connected car
Connected carConnected car
Connected car
 
11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연
11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연
11 20101002동물보호시민활동의실제(5)동물보호소실태 박소연
 

Similar to Drush deploy presentation by Goruachev Mikhail

Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011Vlad Savitsky
 
A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013Chris Hales
 
Drush for drupal website builder
Drush for drupal website builderDrush for drupal website builder
Drush for drupal website builderAdolfo Nasol
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal DeploymentDevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal DeploymentGerald Villorente
 
Drush Presentation
Drush PresentationDrush Presentation
Drush Presentationperceptum
 
Lightning Fast Drupal Theming (Drupal 7)
Lightning Fast Drupal Theming (Drupal 7)Lightning Fast Drupal Theming (Drupal 7)
Lightning Fast Drupal Theming (Drupal 7)Globe Runner
 
Drush&drupal. administration
Drush&drupal. administrationDrush&drupal. administration
Drush&drupal. administrationzabej
 
Drush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилDrush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилPVasili
 
Drush and drupal. администрирование волчек михаил
Drush and drupal. администрирование  волчек михаилDrush and drupal. администрирование  волчек михаил
Drush and drupal. администрирование волчек михаилdrupalconf
 
Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.Mediacurrent
 
Drush 5.0 (DrupalCamp LA 2012) - Chris Charlton
Drush 5.0 (DrupalCamp LA 2012) - Chris CharltonDrush 5.0 (DrupalCamp LA 2012) - Chris Charlton
Drush 5.0 (DrupalCamp LA 2012) - Chris CharltonChris Charlton
 
Contribuir a Drupal - Entorno
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - EntornoKeopx
 
Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and AegirIztok Smolic
 
Development Setup of B-Translator
Development Setup of B-TranslatorDevelopment Setup of B-Translator
Development Setup of B-TranslatorDashamir Hoxha
 
Speed up Drupal development with Drush
Speed up Drupal development with DrushSpeed up Drupal development with Drush
Speed up Drupal development with Drushkbasarab
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaSalvador Molina (Slv_)
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAJesus Manuel Olivas
 

Similar to Drush deploy presentation by Goruachev Mikhail (20)

Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
Pavlenko Sergey. Drush: using and creating custom commands. DrupalCamp Kyiv 2011
 
Drush
DrushDrush
Drush
 
A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013A Drush Primer - DrupalCamp Chattanooga 2013
A Drush Primer - DrupalCamp Chattanooga 2013
 
Drush for drupal website builder
Drush for drupal website builderDrush for drupal website builder
Drush for drupal website builder
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal DeploymentDevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal Deployment
 
Drush Presentation
Drush PresentationDrush Presentation
Drush Presentation
 
Lightning Fast Drupal Theming (Drupal 7)
Lightning Fast Drupal Theming (Drupal 7)Lightning Fast Drupal Theming (Drupal 7)
Lightning Fast Drupal Theming (Drupal 7)
 
Drush&drupal. administration
Drush&drupal. administrationDrush&drupal. administration
Drush&drupal. administration
 
Drush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилDrush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек Михаил
 
Drush and drupal. администрирование волчек михаил
Drush and drupal. администрирование  волчек михаилDrush and drupal. администрирование  волчек михаил
Drush and drupal. администрирование волчек михаил
 
Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.Drush A beginners guide to a advanced tool.
Drush A beginners guide to a advanced tool.
 
Drush 5.0 (DrupalCamp LA 2012) - Chris Charlton
Drush 5.0 (DrupalCamp LA 2012) - Chris CharltonDrush 5.0 (DrupalCamp LA 2012) - Chris Charlton
Drush 5.0 (DrupalCamp LA 2012) - Chris Charlton
 
Contribuir a Drupal - Entorno
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - Entorno
 
Face your fears: Drush and Aegir
Face your fears: Drush and AegirFace your fears: Drush and Aegir
Face your fears: Drush and Aegir
 
Development Setup of B-Translator
Development Setup of B-TranslatorDevelopment Setup of B-Translator
Development Setup of B-Translator
 
Beginning Drush
Beginning DrushBeginning Drush
Beginning Drush
 
Speed up Drupal development with Drush
Speed up Drupal development with DrushSpeed up Drupal development with Drush
Speed up Drupal development with Drush
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molina
 
Dcp'14 drush
Dcp'14 drushDcp'14 drush
Dcp'14 drush
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 

Recently uploaded

Communication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptxCommunication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptxkb31670
 
Machine learning workshop, CZU Prague 2024
Machine learning workshop, CZU Prague 2024Machine learning workshop, CZU Prague 2024
Machine learning workshop, CZU Prague 2024Gokulks007
 
Burning Issue presentation of Zhazgul N. , Cycle 54
Burning Issue presentation of Zhazgul N. , Cycle 54Burning Issue presentation of Zhazgul N. , Cycle 54
Burning Issue presentation of Zhazgul N. , Cycle 54ZhazgulNurdinova
 
ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8
ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8
ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8Access Innovations, Inc.
 
The Real Story Of Project Manager/Scrum Master From Where It Came?!
The Real Story Of Project Manager/Scrum Master From Where It Came?!The Real Story Of Project Manager/Scrum Master From Where It Came?!
The Real Story Of Project Manager/Scrum Master From Where It Came?!Loay Mohamed Ibrahim Aly
 
Communication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptxCommunication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptxkb31670
 
Juan Pablo Sugiura - eCommerce Day Bolivia 2024
Juan Pablo Sugiura - eCommerce Day Bolivia 2024Juan Pablo Sugiura - eCommerce Day Bolivia 2024
Juan Pablo Sugiura - eCommerce Day Bolivia 2024eCommerce Institute
 
Dynamics of Professional Presentationpdf
Dynamics of Professional PresentationpdfDynamics of Professional Presentationpdf
Dynamics of Professional Presentationpdfravleel42
 

Recently uploaded (8)

Communication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptxCommunication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptx
 
Machine learning workshop, CZU Prague 2024
Machine learning workshop, CZU Prague 2024Machine learning workshop, CZU Prague 2024
Machine learning workshop, CZU Prague 2024
 
Burning Issue presentation of Zhazgul N. , Cycle 54
Burning Issue presentation of Zhazgul N. , Cycle 54Burning Issue presentation of Zhazgul N. , Cycle 54
Burning Issue presentation of Zhazgul N. , Cycle 54
 
ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8
ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8
ISO 25964-1Working Group ISO/TC 46/SC 9/WG 8
 
The Real Story Of Project Manager/Scrum Master From Where It Came?!
The Real Story Of Project Manager/Scrum Master From Where It Came?!The Real Story Of Project Manager/Scrum Master From Where It Came?!
The Real Story Of Project Manager/Scrum Master From Where It Came?!
 
Communication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptxCommunication Accommodation Theory Kaylyn Benton.pptx
Communication Accommodation Theory Kaylyn Benton.pptx
 
Juan Pablo Sugiura - eCommerce Day Bolivia 2024
Juan Pablo Sugiura - eCommerce Day Bolivia 2024Juan Pablo Sugiura - eCommerce Day Bolivia 2024
Juan Pablo Sugiura - eCommerce Day Bolivia 2024
 
Dynamics of Professional Presentationpdf
Dynamics of Professional PresentationpdfDynamics of Professional Presentationpdf
Dynamics of Professional Presentationpdf
 

Drush deploy presentation by Goruachev Mikhail