Вопрос

Кто-нибудь пробовал эту функцию и имеет какие-то отзывы?Или кто-нибудь знает какие-нибудь полезные образцы для поиска?

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

Решение

Я пробовал эту функцию несколько месяцев назад, но больше ею не пользуюсь (просто потому, что она мне не нужна, а не потому, что это плохая функция).

По сути, вы определяете n осей, каждая ось представляет собой свойство с несколькими значениями.

Давайте рассмотрим пример:вы определяете ось "JDK" с возможным значением "1.4", "1.5", "1.6", и вы определяете другое свойство "база данных", где возможными значениями являются "oracle", "mysql".

Таким образом, Hudson запустит вашу сборку 6 раз:

  • с JDK 1.4, с базой данных свойств = oracle (т.е.JVM запускается с помощью -Ddatabase=oracle)
  • с JDK 1.5, с базой данных свойств =oracle
  • с JDK 1.6, с базой данных свойств =oracle
  • с JDK 1.4, со свойством database=mysql
  • с JDK 1.5, со свойством database=mysql
  • с JDK 1.6, со свойством database=mysql

Затем, как только все будет завершено, вы сможете увидеть результаты для каждой итерации.

Эта функция может быть действительно полезной, когда вам нужно протестировать ваше приложение в нескольких средах (в моем примере, с разными версиями JDK или базы данных).

Обратите внимание, что за исключением оси JDK, вы должны самостоятельно управлять свойством, указанным Хадсоном в качестве записи.В моем примере приложение должно учитывать само свойство "база данных".В конце концов, хорошей идеей будет использовать это свойство для включения определенного профиля в конфигурации Maven2, если ваш проект является mavenized (см. здесь для получения более подробной информации об этом).

Я надеюсь, что мои объяснения достаточно ясны :)

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

Матричные сборки имеют ряд проблем:

  • В целом несовместимы с плагинами - они становятся лучше, но вам нужно постоянно быть в курсе последних событий.
  • Артефакты - выкручиваться гораздо сложнее - URL-адреса немного более неудобны, их поиск в FS (чего вам все равно следует избегать) теперь превратился в кошмар.

И это позор, потому что концепция очень хороша и очень удобна там, где она работает.


Редактировать

  • Невозможность запустить отдельные точки.

Наш обычный способ обойти эту проблему - настроить параметризованные сборки для одновременного выполнения, что сопряжено со своими проблемами, но избавляет нас от множества заданий с одним и тем же кодом и разными константами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top