Wie werden Drossel und Jenkins zusammen zur kontinuierlichen Integration verwendet?
Frage
Ich höre oft die Buzz -Worte, "kontinuierliche Integration", "Drish" und "Jenkins". So weckt mein Interesse.
Wie werden Drossel und Jenkins zusammen zur kontinuierlichen Integration verwendet?
Warum sollten Sie auch Drrush und Jenkins zusammen verwenden?
Lösung
Für meine Projekte verwende ich ein Build -Skript aus DRUSH -Befehlen in einem Jenkins -Job. ich benutze mein Phing Drehaufgabe Projekt zum Ausführen von a Phing Skript erstellen. Auf diese Weise können ich die vorhandenen PHING -Aufgaben nutzen (z. B. Dateienkopie, Phplint usw.). Mit Hilfe von Drehschriften bauen dieses Skript
- Downloads alle Nicht-Kunden-Code (dh Drupal Core und trägt Modul und Themen bei) mit Drossel machen zu
./dist
- Erweitert die Platzhalter in einem versionierten
settings.php
(dh ersetzen${db_host}
mit dem tatsächlichen DB -Hostnamen) beim Kopieren in den frisch heruntergeladenen Kopieren./dist/sites/default
Mappe. - Kopieren Sie benutzerdefinierte Module und Themen nach
./dist/sites/all/modules/custom
und./dist/sites/all/themes/custom
- Laufen
phplint
Für alle Dateien aus meinen benutzerdefinierten Modulen und Themen. - Kopieren Sie alles unter
./dist
zu einem vorkonfigurierten Webroot. - Laufen
drush site-install testing
unddrush pm-enable simpletest
So installieren Sie eine frische Website mithilfe der Build -Code -Basis und in der Lage, simpletest auszuführen. - Laufen
drush test-run
Um meine benutzerdefinierten Modul -Testsuiten auszuführen. - Laufen
drush coder-review
.
Hier ist ein Kommentar Build.xml Vorlage Für die Drosselbenutzung in Jenkins.
Andere Tipps
Sie können Phing in Jenkins verwenden http://drupal.org/project/phingdrushtask (Pierre Buy auf SE.com)
Benutzerdefiniertes Beispiel:
<drush command='cc' root="${project.drupal.core.dir}" uri="${env.host.name}" assume="yes">
<param>all</param>
</drush>