J'entends souvent les mots à la mode, "intégration continue", "drush" et "jenkins". Ainsi, suscitant mon intérêt.
Comment drush et jenkins sont-ils utilisés ensemble pour une intégration continue?
Aussi, pourquoi voudriez-vous utiliser Drush et Jenkins ensemble?
Pour mes projets, j'utilise un script de construction composé de commandes Drush dans un travail Jenkins. J'utilise mon projet Phing Drush Task pour exécuter Drush à partir d'un script de build Phing . Cela me permet de tirer parti des tâches Phing existantes (par exemple, copie de fichiers, phplint, etc.). Avec l'aide de Drush, ce script de construction
./dist
settings.php
(c'est-à-dire remplacer ${db_Host}
avec le nom d'hôte DB réel) tout en le copiant sur le _ fraîchement téléchargé ./dist/sites/default
dossier../dist/sites/all/modules/custom
et ./dist/sites/all/themes/custom
phplint
pour tous les fichiers de mes modules et thèmes personnalisés../dist
à une racine Web préconfigurée.drush site-install testing
et drush pm-enable simpletest
pour installer un nouveau site en utilisant la base de code de construction et capable d'exécuter SimpleTest.drush test-run
pour exécuter mes suites de tests de modules personnalisés.drush coder-review
.Voici un commentaire modèle build.xml pour l'utilisation de Drush dans Jenkins.
Vous pouvez utiliser Phing dans Jenkins, vous pouvez donc utiliser Drush via http://drupal.org/project/phingdrushtask (Pierre Buyle sur SE.COM)
Exemple personnalisé:
<drush command='cc' root="${project.drupal.core.dir}" uri="${env.Host.name}" assume="yes">
<param>all</param>
</drush>