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

drupal.stackexchange https://drupal.stackexchange.com/questions/8474

  •  16-10-2019
  •  | 
  •  

Вопрос

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

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

Кроме того, зачем вам вместе использовать Drush и Jenkins?

Это было полезно?

Решение

Для моих проектов я использую сценарий сборки из Drush Commands на работе Jenkins. Я использую свой Phing Drush Задача Проект для запуска Drush из Фигур Строительский скрипт. Это позволяет мне использовать существующие задачи PHING (например, копия файлов, Phplint и т. Д.). С помощью Drush, этот сценарий сборки

  • Загружает весь код, не являющийся Custom (т.е. Drupal Core и вносит модуль и темы) с Заработать к ./dist
  • Расширяет заполнители в версии settings.php (т.е. заменить ${db_host} с фактическим именем хоста DB), копируя его до недавно загруженного ./dist/sites/default папка.
  • Копировать пользовательские модули и темы ./dist/sites/all/modules/custom а также ./dist/sites/all/themes/custom
  • Бежать phplint Для всех файлов из моих пользовательских модулей и тем.
  • Копировать все под ./dist к предварительно сконфигурированной Webroot.
  • Бежать drush site-install testing а также drush pm-enable simpletest Чтобы установить свежий сайт, используя базу кода сборки и способен запустить SimpleteTest.
  • Бежать drush test-run Чтобы запустить мои пользовательские тестовые люксы.
  • Бежать drush coder-review.

Вот прокомментированный Bult.xml шаблон для использования пыла в Дженкинсе.

Другие советы

Вы можете использовать phing в Дженкинсе, чтобы использовать 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с drupal.stackexchange
scroll top