Créer des alias Drush pour administrer facilement vos sites

Créer des alias Drush pour administrer facilement vos sites

28 Sep 2010 |  Drupal

Écrire un simple billet de blog, ça prend du temps (enfin pour moi). Il faut l’écrire, le structurer, essayer les exemples et être sûr que cela fonctionne, mais l’avantage de tout ça c’est que je dois explorer les choses dont je parle. Ainsi suite à mon investigation sur Drush afin de réaliser mon post sur la création de commandes, je ne pouvais pas faire autrement que de parler de la création d’alias de site.

Cela fait maintenant quelques mois que la version 3 de Drush est sortie et s’il y avait bien une nouveauté qui faisait partie des choses attendues c’était bien ça, l’exécution de commandes en dehors du répertoire d’un site et l’introduction des alias.

Il est vrai qu’il était déjà possible sous Drush 2 d’exécuter une commande depuis un autre répertoire, mais voici ce qu’il fallait écrire pour connaître l’état de votre site :

$ drush --root=/path/to/drupal --uri=dev.mysite.com status

Et voici ce que l’on obtient maintenant :

$ drush @sitealias status

Avouez que c’est quand même bien plus simple surtout lorsque vous avez des sites et des multi-sites à gérer non ?

Dans le répertoire exemple de Drush il y a un fichier nommé ‘example.aliases.drushrc.php’ qui vous servira d’exemple pour la création de vos alias.

Pour déclarer vos alias vous avez plusieurs possibilités :

  • La première consiste à créer un fichier pour chacun de vos alias que l’on appellera ALIASNAME.alias.drushrc.php.
  • La deuxième méthode n’utilise qu’un fichier unique appelé aliases.drushrc.php dans lequel vous devrez insérez tous vos alias.
  • La dernière méthode permet de gérer vos alias par groupe : GROUPNAME.aliases.drushrc.php

Quelle que soit la solution retenue, vous avez la possibilité de placer votre fichier à plusieurs endroits afin qu’il soit pris en compte par Drush.

  • Dans un dossier ‘aliases’ dans le répertoire de drush
  • Dans un répertoire $HOME/.drush
  • A la racine de chacun de vos sites

Pour ma part, j’ai choisi de placer mes fichiers d’alias dans un dossier nommé .drush placé à la racine du dossier de mon utilisateur. Si vous avez lu mon billet sur la création de commande drush vous avez pu voir que dans ce répertoire on pouvait aussi y placer les fichiers de commandes, avec cette méthode j’ai ainsi un seul endroit ou je gère Drush. Je ne pense pas qu’il y ait de bon ou de mauvais choix, mais c’est l’habitude que j’ai prise.

J’ai donc crée un fichier alias.drushrc.php contenant le nom de l’alias que je souhaite, le chemin de mon installation drupal et l’adresse web de mon site.

$aliases['sandbox'] = array (
  'root' => '/path/to/drupal',
  'uri' => 'dev.sandbox.com'
);

Simple mais efficace ce sont les deux seules lignes qu’il est obligatoire d’ajouter dans votre fichier. Bien sûr vous pouvez ajouter plein d’autres options, regardez les exemples fournis par drush.

Pour ma part j’accède maintenant de n’importe où à mon sandbox comme ceci :

$ drush @sandbox status

Pour connaître les alias disponibles sur votre site il vous suffit de taper :

$ drush sa

Vous avez pu le constater, rien de compliqué dans la création d’alias, n’hésitez pas à tester les différentes solutions afin de trouver celle qui vous convient.

Julien Dubreuil

Vous avez une idée, un projet web à réaliser ?

Ensemble, mettons en oeuvre sa réussite. Je vous accompagne dans vos projets, depuis l'élaboration du cahier des charges jusqu'à la mise en production. Pour plus d'information n'hésitez pas à me contacter.

Contactez-moi