it-swarm.com.de

Wie werden Drush und Jenkins zusammen für die kontinuierliche Integration verwendet?

Ich höre oft die Schlagworte "kontinuierliche Integration", "drush" und "jenkins". So weckte ich mein Interesse.

Wie werden Drush und Jenkins zusammen für die kontinuierliche Integration verwendet?

Warum sollten Sie Drush und Jenkins zusammen verwenden?

30
chrisjlee

Für meine Projekte verwende ich ein Build-Skript aus Drush-Befehlen in einem Jenkins-Job. Ich verwende mein Phing Drush Task Projekt, um Drush über ein Phing Build-Skript auszuführen. Auf diese Weise kann ich die vorhandenen Phing-Aufgaben nutzen (z. B. Kopieren von Dateien, Phplint usw.). Mit Hilfe von Drush wird dieses Build-Skript erstellt

  • Lädt den gesamten nicht benutzerdefinierten Code (dh Drupal Kern und trägt Modul und Themen bei) mit Drush Make zu ./dist Herunter.
  • Erweitert Platzhalter in einem versionierten settings.php (Dh ${db_Host} Durch den tatsächlichen DB-Hostnamen ersetzen), während es in den frisch heruntergeladenen Ordner ./dist/sites/default Kopiert wird.
  • Kopieren Sie benutzerdefinierte Module und Designs nach ./dist/sites/all/modules/custom Und ./dist/sites/all/themes/custom
  • Führen Sie phplint für alle Dateien aus meinen benutzerdefinierten Modulen und Designs aus.
  • Kopieren Sie alles unter ./dist In eine vorkonfigurierte Webroot.
  • Führen Sie drush site-install testing Und drush pm-enable simpletest Aus, um eine neue Site mithilfe der Build-Code-Basis zu installieren und SimpleTest auszuführen.
  • Führen Sie drush test-run Aus, um meine benutzerdefinierten Modul-Testsuiten auszuführen.
  • Führen Sie drush coder-review Aus.

Hier ist eine kommentierte build.xml-Vorlage für die Verwendung von Drush in Jenkins.

21
Pierre Buyle

Sie können Phing in Jenkins verwenden, also können Sie Drush through http://drupal.org/project/phingdrushtask (Pierre Buyle auf SE.COM) verwenden.

Benutzerdefiniertes Beispiel:

 <drush command='cc' root="${project.drupal.core.dir}" uri="${env.Host.name}" assume="yes">
  <param>all</param>
</drush>
3
Pol Dellaiera