drush

  • Ich bin jetzt Ubernaut

    Nach fast einer Dekade mit eigenen Linux-Root-Servern, bin ich mit meinen Domains nach uberspace1 umgezogen und überlasse das Root-Sein jetzt anderen und zwar Jonas Pasche2 und seinem Team.

    Ich habe noch Zugriff auf eine Shell und jede Menge Software zu Verfügung, so dass ich auch nicht wirklich was vermisse (Bis vielleicht manchmal die Allmacht3… xD).

    Uberspace? Uberspace beschreibt sich auf seiner Seite selbst so:

    Uberspace.de ist eine Plattform von Technikern für Techniker und alle, die es werden wollen. Wir machen Hosting für Kommandozeilenliebhaber, Datenschützer, Kontrollebehalter, Unixfreunde, Selbermacher, Waszusagenhaber. Und wenn es mal klemmt, stehen dir erfahrene Linux-Admins zur Seite.

    Dem ist meiner Meinung nach eigentlich nur noch das flexible Preismodell4 hinzuzufügen, bei dem Du den Preis selbst wählen und anpassen kannst.

    Hier beschreibe ich, wie meine Drupal6-Site netzaffe.de ein neues Zuhause bezieht (lässt sich wahrscheinlich ohne viel Anpassung auch auf Drupal 7 anwenden) und Mail- und Webserver für die gleichnamige Domain aufgeschaltet werden.

    Weiterlesen

  • pear.phpunit.de, Composer und Drupal

    PHUnit und PEAR

    Während der Installation von der benötigten Pakate für das PHING-Drupal-Templatehttps://github.com/reinblau/phing-drupal-build, einer XML-Build-Datei für ein Phing-Build-System für Drupal-Projekte als zentraler Bestandteil eines PHING-Drupal-Jobshttp://reload.github.io/jenkins-drupal-template/ für den Continous Integrationhttp://de.wikipedia.org/wiki/Kontinuierliche_Integration Server Jenkinshttp://jenkins-ci.org/ lief ich in einer längere Fehlersuche. Zwei Pakete die durch pear.phpunit.de bereitgestellt werden, phpcpdhttps://github.com/sebastianbergmann/phpcpd, ein PHP Copy n Paste Detector und phplochttps://github.com/sebastianbergmann/phploc, ein Tool für Code-Metriken sollen laut den Anforderungenhttp://reload.github.io/phing-drupal-template/ via PEAR installiert werden.

    pear channel-discover pear.phpunit.de 
    

    Aber schon die sog. “Channel discovery”, vergleichbar mit einem apt-get update nach einer Erweiterung der Repositories schlägt fehl…

    Error: No version number found in <channel> tag Discovering channel pear.phpunit.de over http:// failed with message: channel-add: invalid channel.xml file 
    Trying to discover channel pear.phpunit.de over https:// instead Error: No version number found in <channel> tag
    Discovery of channel "pear.phpunit.de" failed (channel-add: invalid channel.xml file) </channel></channel>
    

    Weiterlesen

  • Autocompletition für Drush aktivieren

    Ja, Drush auch kann Autocompletition, zu deutsch “Autovervollständigung” und das anscheinenend nicht erst seit gestern, obwohl erst gestern entdeckt…

    Tab-Vervollständigung

    Ganz genau genommen, spricht man in diesem Fall der Autovervollständigung von einer Befehlszeilenergänzung bzw. Tab-Vervollständigung. Es besteht auch im Drush-Kontext die Möglichkeit Drush-Befehle, globale Drush-Optionen und den spezifischen Optionen zu einem Drush-Befehlen durch “tabben” (dem ein- oder zweimaligen Drücken der Tabulator Taste) in der Shell zu vervollständigen.

    Beispiele

    Tab-Vervollständigung von globalen Drush-Optionen:

    florian@box:/var/www/example.com/drupal$ drush @git --<tab><tab>
    
    --alias-path           --backend  
    --backup-location      --cache-class-<bin> 
    --cache-default-class  --choice 
    --command-specific     --complete-debug 
    --config               --confirm-rollback 
    [...]
    

    Tab-Vervollständigung von Drush-Befehlen, die mit sql- beginnen:

    florian@box:/var/www/example.com/drupal$ drush @git sql-<tab><tab>
    sql-cli   sql-conf   sql-connect    sql-create sql-drop
    sql-dump  sql-query  sql-sanitize   sql-sync
    

    Vervollständigung der Optionen, die mit dem Befehl sql-dump nutzbar sind:

    florian@box:/var/www/example.com/drupal$ drush @git sql-dump --<tab><tab>
    --create-db    --data-only   --gzip    --result-file   --structure-tables-key   
    --tables-list   --database   --db-url  --ordered-dump  --skip-tables-key        
    --tables-key 
    

    Weiterlesen

  • Drupal-Distro-Build-Skript

    Das Testen von Drupal-Installationsprofilen ist relativ mühselig, da sich ein Teil der Schritte, bis man überhaupt erst zum Testen der eigentlichen Funktionalität kommt, mit dem Build-Prozess beschäftigt.

    Diesen muß man eigentlich für jede Änderung erneut durchlaufen…

    1. Drush make (das macht es im Falls des Feature-Server-Installations-Profiles)
      1. Drush make mit distro.make aus dem Git-Repository
      2. Download des Drupal-Cores
      3. Klonen des in distro.make hinterlegten Repositories für das Installationsprofil
      4. Rekursive Suche nach weiteren Drush-Makefiles, runterladen der Drupal-Module und des Themes, die im gefundenen Makefile drupal-org.make spezifiziert sind
    2. Sybolischer-Link vom erstellten Build auf die DocumentRoot des für Testzwecke angelegten VirtualHosts
    3. Drop auf alle Tabellen in der Zieldatenbank
    4. Installation von Drupal und einem bestimmtem Installationsprofiles, hier fserver_profile

    In der scheinbaren Routine des manuellen Durchlaufen dieser Schritte entsteht zudem auch mal schnell ein Fehler.

    So habe ich beim gefühlt 100sten Mal des Durchlaufens dieser Prozedur versehentlich in der falschen Datenbank alle Tabellen ge-dropt-t und dachte mir, Automatisierung muss her, schreib ein Shellskript…

    Weiterlesen

  • Multisite-Features unter Drupal 7.x

    Rudimente für ein Drupal-Deployment mit

    • Lokaler Entwicklungumgebung
    • Stage-Umgebung
    • Live / Produktionsumgebung

    unter Verwendung, der in Drupal-7 neu eingeführten Multisite-Features in der Datei sites.php, Drush-Aliases und einer speziellen settings.php.

    sites.php – Verzeichnis Aliase in Drupal 7.x

    Die in Drupal 7.x neu eingeführte Datei sites.php stellt erstmalig Verzeichnis-Aliase für Drupal-Multisites zur Verfügung. So ist es jetzt möglich mit verschiedenen Domains bzw. VirtualHosts ein bestimmtes Verzeichnis innerhalb von sites anzusprechen, ohne über z.B. Symbolische Links zu gehen, was in vorgigen Drupal-Versionen zur Folge haben konnte, daß Datei- oder Modulpfade beim "umbiegen" von der Dev-Site example.mydomain.de auf die Live-Site example.com divergent sind.

    <?php
    // sites/sites.php 
    
    // (LOCAL) DEV SITE 
    $sites['example.localhost'] = 'example.com'; 
    
    // STAGE SITES 
    $sites['stage-example.mydomain.de'] = 'example.com';
    $sites['stage.example.com'] = 'example.com'; 
    
    // LIVE SITE 
    $sites['example.com'] = 'example.com'; 
    
    @see /path/to/drupal7/sites/example.sites.php 
    

    Weiterlesen

  • DUB, Themenabend Deployment: features+

    Gestern bei der DUB, Themenabend Deployment und nicht physisch anwesend: Eine Skypesession zu Features, Features Erweiterungen, Drupal Installationsprofilen, Drush und dem Plus... Skypesession: features+ Foto: ©Ronald "rokr" Krentz,

    Weiterlesen

  • Drush und Multisite: drush_multi @ dcvie 2009

    “Drush und Multisite: drush_multi”,
    Session über drush_multi auf dem DrupalCamp Vienna, November 2009. drush_multi Session, DrupalCamp Vienna, November 2009
    Foto: Florian Klare, ©

    Zu den Slides: https://www.slideshare.net/fl3a/drush-und-multisite-drushmulti

    Weiterlesen

  • drush 6.x-2.1 Release

    Gestern wurde drush in der Version 2.1 herausgegeben.

    Neben zahlreichen Bug Fixes gibt es zwei signifikante Änderungen, die ich hier beschreiben möchte.

    1. Die Entfernung des Shebang's in drush.php.
    2. Die Einführung von Aliases.

    Weiterlesen

  • Drush - DrupalMediaCamp Präsentation

    Drush – Das Sackmesser für die Kommandozeile. Mein Vortrag über drush auf dem DrupalMediaCamp 2009 in Aarau, Schweiz. Foto von Jürgen Brocke

    Weiterlesen

  • Drush_mm-Adminrole Workaround und Tabs in Firefox

    Drush_mm-Adminrole-Workaround

    Drush, drush_mm und adminrole sind wirklich nützliche Module, funktionieren aber leider noch nicht zusammen.

    In drush_mm findet noch keine Überprüfung statt ob adminrole installiert bzw, aktiviert ist, die Funktion adminrole_update_perms() aus adminrole.module wird durch drush mm install modul nicht aufgerufen.

    Und hier der Workaround: drush mm install modul && drush eval "adminrole_update_perms();" Klappt und ich weiss jetzt wofür das eval-Statement gut sein kann.

    Update 21.02.2009 02:38 Patches im Anhang Ein kürzere, elegantere und zukunftsträchtigere Lösung, je ein Patch für drush_mm und adminrole von dereine, Danke! und meine Lösung, welche unabhängig von adminrole ist.

    Weiterlesen

Subscribe