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
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-deploycd ~/drushgit clone [email protected]:AmazeeLabs/drush_deploy.gitdrush 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 StructureCurrent - 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 MikhailEmail: [email protected]