Drupal-Entwicklung mit Drush und Shell-Skripten vereinfachen

Bei der Entwicklung mit mehreren Team-Mitgliedern passiert häufig Neues in der Code-Basis. Einmal muss vielleicht die update.php ausgeführt werden, weil ein Modul in neuerer Version eingesetzt wird, Features müssen bei Änderungen manuell zurückgesetzt werden, ein Feld war vielleicht überflüssig geworden und muss gelöscht werden. Wir lösen dieses Problem mit Update-Scripts. Nach jedem git pull führen die Entwickler einfach die Datei update.sh aus und alles, was getan werden muss, passiert automatisch. Typischerweise ist das das Leeren vom Cache, das Aktivieren von neuen Modulen, das Zurücksetzen von Features. Was auch häufig vorkommt ist das Löschen von Feldern, die nicht mehr benötigt werden oder das Indizieren von Nodes für Solr.

Hier ein paar Beispiele, was man in Kombination mit Drush im Script machen kann:

  • Module oder Themes aktivieren und deinstallieren
  • Features zurücksetzen
  • Den Cache leeren
  • Datenbankaktualisierungen durchführen (update.php)
  • Inhaltstypen und Felder löschen
  • Inhalte mit Apache Solr indizieren
  • Alles, was Drush sonst noch kann

Die Skripte liegen in sites/all/scripts. Hier ein einfaches und verständliches Beispiel für eine solche Datei, die in sites/all/scripts liegen kann: 

Was haltet ihr von unseren Scripts? Verwendet ihr in eurem Team etwas ähnliches?