2016-11-29 1 views
0

Возможно ли выполнить цель жизненного цикла (например, integration-test) по артефакту, который был установлен в рамках местного репо?Выполнение цели жизненного цикла maven на артефакте, установленном в локальном репо

Мое использование является следующим. У меня есть проект с несколькими модулями с множеством модулей, посвященных различным типам тестирования интеграции (проверка соответствия, тесты производительности и т. Д.). Мне нужно несколько раз вызывать эту интеграцию с различными конфигурациями среды. Эти конфигурации выражаются как профили maven и параметризуются с использованием свойств. Я хочу избежать повторной компиляции проекта снова и снова.

Я хотел бы иметь одно задание CI для сборки, выполняющее установку mvn, а затем отдельные задания CI, выполняющие интеграционные тесты, запускаемые после выполнения задания CI сборки. Тесты интеграции будут просто вызывать интеграционного тест жизненного цикла фазы установленной настройки профиля и проходящей параметры

Я попытался указывая MVN на файл .pom в местного репо артефакта, но это не работает. Он терпит неудачу, потому что он не может найти классы в собственном JAR-файле artefact (как если бы он не был помещен в путь к классам) - проблема, которая не возникает, если у меня есть работа по интеграции, проверьте дерево и вызовите pom.xml в исходное дерево.

mvn -f ~/.m2/repo/x/y/z/myproj-perftests-x.x.x-SNAPSHOT.pom integration-test -Pmyprofile -Dparam1=blah 
+0

Вы можете попробовать запустить в зависимости от того, какой плагин вы используете для запуска интеграционного теста (например, maven-failafe-plugin) ... используя следующее: 'failafe: integration-test' ...? Это не будет работать весь жизненный цикл .... – khmarbaise

ответ

0

Нет, это невозможно. Плагины Maven (обычно) работают только с источниками проекта.

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

Смежные вопросы