Drush avancé : un cas d'usage

6
[email protected] // Drupal Meetup Paris 26 avril 2012 Drush avancé : cas d'usage

description

Lightning talk de 5 minutes sur Drush.Présenté au Meetup Drupal-Fr à Paris le 26 avril 2012.

Transcript of Drush avancé : un cas d'usage

[email protected] // Drupal Meetup Paris 26 avril 2012

Drush avancé : cas d'usage

[email protected] // Drupal Meetup Paris 26 avril 2012

Tout le monde connaît Drush !?

● Dru(pal)-Sh(ell) : outil pour effectuer des opérations sur un site Drupal en ligne de commande.

● Quelques commandes bien connues et bien pratiques :

$ drush cache-clear all

$ drush pm-download admin

$ drush pm-enable admin

$ drush sql-dump > mondump.sql

● Mais on peut faire des choses bien plus complexes ...

[email protected] // Drupal Meetup Paris 26 avril 2012

Les fichiers de configuration de Drush

● Drush est configurable via des fichiers drushrc.php et aliases.drushrc.php

● Via les site-aliases, Drush nous permet de référencer des instances Drupal.

● Ces instances peuvent être locales ou distantes.

<?php

$aliases[monsite.dev] = array(

'root' => '/var/www/monsite.dev',

'remote-host' => 'monsite.serveur-dev.fr',

'remote-user' => 'devuser',

);

$aliases[monsite.prod] = array(

'root' => '/var/www/monsite.fr',

'remote-host' => 'www.monsite.fr',

'remote-user' => 'produser',

);

<CHEMIN>/monsite.local/sites/all/drush/aliases.drushrc.php

[email protected] // Drupal Meetup Paris 26 avril 2012

Utiliser les site aliases

● Nous avons les alias suivants :

$ drush @self cc all

$ drush @monsite.dev cc all

$ drush @monsite.prod sql-dump > monfichier.sql

● Il est maintenant possible d'adresser des commandes à des instances Drupal précises :

@self

@monsite.dev

@monsite.prod

[email protected] // Drupal Meetup Paris 26 avril 2012

Synchroniser des instances Drupal

Synchroniser les bases de données de deux instances :

$ drush sql-sync @monsite.dev @self

Synchroniser le répertoire files de deux instances :

$ drush rsync @monsite.dev:%files @self:%files

$ drush ssh @monsite.dev

Ou tout simplement se connecter à un serveur distant :

[email protected] // Drupal Meetup Paris 26 avril 2012

La morale de l'histoire

● Bien configuré, Drush permet d'accélérer considérablement le développement Drupal.

● Cela vaut la peine d'investir une heure ou deux dans des fichiers de configuration pour un projet.

● Ces fichiers sont versionnés avec le code et évoluent avec celui-ci.

● Il n'y a pas d'excuses : Drush est très bien documenté

$ drush topic