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