web-dev-qa-db-fra.com

Contrôle des sites distants Drupal avec Drush

Depuis quelques semaines, je regarde différents screencasts et j'envie ceux qui peuvent faire fonctionner Drush sur leurs sites, en particulier. lors de l'activation/désactivation des modules ou de la suppression du cache. Le gain de temps semble immense.

Cependant, en tant que développeur front-end plutôt qu'en tant qu'opérateur de console qualifié et fluide, je me retrouve complètement perdu selon l'utilisation de Drush avec des sites distants. La plupart des lectures googlées traitent des sites locaux, spécifient des chemins d'accès aux installations locales ou supposent qu'un site a été créé à l'aide de la commande site-install. Bien que je souhaite ajouter Drush à un site distant existant. Comment ajouter Drush en jeu avec ce site distant?

Maintenant que j'essaie d'avoir une vue d'ensemble de l'utilisation de Drush, je pense que j'ai peut-être manqué certaines des principales connaissances sur l'environnement et les outils nécessaires, que je n'ai trouvées nulle part.

  1. Outre l'installation de Drush en ligne de commande sur mon bureau, dois-je installer le module Drush sur mon site distant? Ou est Drupal core Drush-controlable out-of-the-box (si c'est le cas, quel est le but du module Drush disponible sur drupal.org/project/drush)
  2. Dois-je configurer SSH pour communiquer avec le serveur?
  3. Dois-je fournir des informations d'identification db n'importe où (où)?
  4. Dois-je définir des informations d'identification FTP n'importe où (où)?
  5. aliases.drushrc.php: est-ce qu'il vit uniquement sur mon bureau, ou dois-je définir quelque chose de similaire sur le ftp distant?

Ma configuration implique des sites de production et de transfert, les premiers étant également stockés sur un serveur ftp distant avec son propre domaine. Je voudrais que les deux soient contrôlables via Drush. Est-ce faisable?

Ce serait génial si quelqu'un pouvait m'éclairer.

7
Artur

Vous avez beaucoup de questions, mais je vais essayer de vous donner le meilleur aperçu de la façon de le faire facilement.

Tout d'abord, notez que bien que Drush soit répertorié en tant que module sur Drupal.org, il ne s'agit pas techniquement d'un module car vous ne "l'activez" ou ne le "désactivez" pas comme les autres modules.

  1. Oui, Drush doit être installé sur le site distant. Lorsque vous le faites, assurez-vous d'installer la même version que vous avez installée localement. Cela peut toujours fonctionner si vous utilisez différentes versions, mais cela peut également provoquer d'étranges bogues difficiles à résoudre, essayez donc toujours de conserver la même version.

  2. C'est certainement plus facile si vous avez configuré SSH pour certaines des commandes Drush. Votre hébergeur devrait être en mesure de vous aider à configurer les clés SSH pour votre ordinateur local.

  3. Oui, vous devrez fournir des informations d'identification DB. Cela peut être fait en suivant l'exemple dans drush/examples/example.aliases.drushrc.php dans le dossier drush.

  4. Non je ne pense pas.

  5. Vous n'avez pas besoin de configurer l'alias sur votre bureau à moins que vous allez vous connecter à votre serveur distant et y utiliser des alias.

Fondamentalement, si SSH fonctionne et que vous avez installé Drush sur le serveur distant ainsi que sur votre ordinateur local, alors, une fois que vous avez configuré un alias, vous pouvez taper quelque chose comme drush @myremote status et cela devrait fonctionner.

6
Patrick Kenny

J'ai créé un article sur la façon dont vous pouvez utiliser drush avec des sites distants si vous y avez accès FTP et base de données, mais pas SSH. C'est un peu de configuration, mais si vous ne pouvez pas vivre sans drush ou travailler avec beaucoup de sites, ça vaut le coup.

Ma rédaction, si votre ordinateur local est Linux: http://eworldproblems.mbaynton.com/2014/07/drush-remote/

Le même principe, si votre ordinateur local est Windows: http://classically.me/blogs/drush-synchronization-ftp

2
mbaynton