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


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

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

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

Author: pbonnefoi, 2011-08-04

2 answers

Для своих проектов я использую сценарий сборки, состоящий из команд Drush в задании Дженкинса. Я использую свой проект Phing Drush Task для запуска Drush из сценария сборки Phing. Это позволяет мне использовать существующие задачи Phing (например, копирование файлов, phplint и т. Д.). С помощью Drush этот скрипт сборки

  • Загружает весь нестандартный код (т.Е. Ядро Drupal и модуль и темы для вкладов) с помощью Drush Make до ./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 в Jenkins.

 21
Author: Pierre Buyle, 2011-10-15 10:51:05

Вы можете использовать Phing в 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>
 3
Author: Pol Dellaiera, 2011-11-04 15:30:57