web-dev-qa-db-fra.com

Comment drush et jenkins sont-ils utilisés ensemble pour une intégration continue?

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?

30
chrisjlee

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

  • Télécharge tout le code non personnalisé (c.-à-d. Drupal noyau et module et thèmes contribs) avec Drush Make à ./dist
  • Développe les espaces réservés dans une version 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.
  • Copiez des modules et des thèmes personnalisés dans ./dist/sites/all/modules/custom et ./dist/sites/all/themes/custom
  • Exécutez phplint pour tous les fichiers de mes modules et thèmes personnalisés.
  • Copiez tout sous ./dist à une racine Web préconfigurée.
  • Courir 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.
  • Courir drush test-run pour exécuter mes suites de tests de modules personnalisés.
  • Courir drush coder-review.

Voici un commentaire modèle build.xml pour l'utilisation de Drush dans Jenkins.

21
Pierre Buyle

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>
3
Pol Dellaiera