drush deploy presentation by goruachev mikhail
DESCRIPTION
Check out the slides of the presentation about Drush deploy that was delivered by Lemberg`s Drupal developer Goruachev Mikhail at the DrupalCamp Kyiv 2014. Find out more about Drupal at http://blog.lemberg.co.uk/TRANSCRIPT
![Page 1: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/1.jpg)
Drush deploy Goruachev Mikhail
![Page 2: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/2.jpg)
About drush-deploy● Drush deploy is a deployment framework built on Drush.
● It is heavily influenced by Capistrano.
Version control is not deployment tool
![Page 3: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/3.jpg)
Analogs
Capistrano
Fabric
![Page 4: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/4.jpg)
Why use Drush deploy? WHY?
![Page 5: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/5.jpg)
KISS**keep it short and simple
![Page 6: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/6.jpg)
REQUIREMENTS- Drush
- php 5.3
- git
![Page 7: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/7.jpg)
Installing drush-deploycd ~/drushgit clone [email protected]:AmazeeLabs/drush_deploy.gitdrush cc drush drush
![Page 8: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/8.jpg)
Are you ready, drupal?!
![Page 9: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/9.jpg)
aliases.drushrc.php
![Page 10: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/10.jpg)
What about multi server Deployments?
https://github.com/drush-ops/drush/blob/master/examples/example.aliases.drushrc.php
![Page 11: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/11.jpg)
deploy.drushrc.php
https://github.com/drush-ops/drush/blob/master/examples/example.drushrc.php
![Page 12: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/12.jpg)
Filesystem Structure
drush deploy-setup @web1
![Page 13: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/13.jpg)
Filesystem StructureCurrent - Is a symlink to the latest release directory;
Releases - Is a releases directory;
Shared- (Git Cache / Configuration);
httpdocs- Webroot (symlink to current);
![Page 14: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/14.jpg)
TASKS
![Page 15: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/15.jpg)
Tasks● Before or after moving to new version
● On one or all servers
● Any console commands
![Page 16: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/16.jpg)
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
![Page 17: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/17.jpg)
drush deploy-rollback @web1● relinks the current directory with the previos release
● removes the faulty release
![Page 18: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/18.jpg)
Example
![Page 19: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/19.jpg)
local files
![Page 20: Drush deploy presentation by Goruachev Mikhail](https://reader034.vdocument.in/reader034/viewer/2022050922/559e10ed1a28abad158b463d/html5/thumbnails/20.jpg)
Remote host
Before After