Як друш і джинкіни використовуються разом для постійної інтеграції?


30

Я часто чую гучні слова, "безперервна інтеграція", "друш" та "дженкіни". Таким чином, викликаючи мій інтерес.

Як друш і джинкіни використовуються разом для постійної інтеграції?

Крім того, чому ви хочете разом використовувати дриль та джинкіни?

Відповіді:


20

Для своїх проектів я використовую сценарій складання, виготовлений із команд Друша в роботі Дженкінса. Я використовую проект Phing Drush Task Taster, щоб запустити Drush із сценарію складання Phing . Це дозволяє мені використовувати існуючі завдання Phing (наприклад, копіювання файлів, phplint тощо). За допомогою Drush цей сценарій збірки

  • Завантажується весь нестандартний код (наприклад, модуль та теми ядра Drup і додаток ) за допомогою Drush Make to./dist
  • Розширює заповнювачі у варіанті settings.php(тобто заміняє ${db_host}фактичне ім'я хосту БД), копіюючи їх у щойно завантажену ./dist/sites/defaultпапку.
  • Скопіюйте власні модулі та теми на ./dist/sites/all/modules/customта./dist/sites/all/themes/custom
  • Запустити phplintвсі файли з моїх спеціальних модулів та тем.
  • Скопіюйте все під ./distзаздалегідь налаштовану веб-кореневу систему.
  • Запустіть drush site-install testingі drush pm-enable simpletestвстановіть свіжий сайт, використовуючи базу коду збірки та зможете запустити SimpleTest.
  • Запустити, drush test-runщоб запустити мої спеціальні тестові набори модулів.
  • Біжи drush coder-review.

Ось коментований шаблон build.xml для використання Drush у Дженкінсі.


Це означає, що ваше оточення CI знаходиться на тій же машині, що і ваш PHP-сервер? Я не розумію, як вам вдається скопіювати власні джерела на сайти / all / module / custom (наприклад). Це, мабуть, тому, що я не знаю, як працюють барабан ... але ніде я не бачу еквівалента завдання scp / ftp з вашої CI Plateform до Php.
Жан-Ремі Реві

1
Так, сервер CI та веб-сервер, що обслуговує тестовий сайт, знаходяться на одній машині. Звичайно, ви також можете скопіювати файл з робочої області CI на хост веб-сервера. Для цього може бути використана команда rsync Друша. Тоді Drush можна використовувати для запуску команд на машині, що розміщує веб-сервер.
П’єр Буйле

3

Ви можете використовувати Phing in Jenkins, тому ви можете використовувати Drush через http://drupal.org/project/phingdrushtask (П'єр Буйле в SE.COM)

Спеціальний приклад:

 <drush command='cc' root="${project.drupal.core.dir}" uri="${env.host.name}" assume="yes">
  <param>all</param>
</drush>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.