Как получить доступ к тестовым артефактам от Jenkins, если тест не пройден - PullRequest
0 голосов
/ 21 марта 2012

У меня есть проект Maven, который выполняет ряд длительных тестов в рамках цикла Maven интеграции-тестирования. Я использую Дженкинса в качестве CI-сервера.

Во время теста интеграции в целевой папке создается несколько файлов. Например, создается «фактический» файл BMP, который сравнивается с «ожидаемым» файлом BMP. Если тест не пройден, мне нужно просмотреть файлы в целевой папке, чтобы определить, как устранить ошибку. Может быть, фактический BMP выглядит хорошо, и поэтому его следует повысить до нового ожидаемого BMP. С другой стороны, это может выявить проблему, которая требует исправления кода.

Дело в том, что у меня нет никакого способа получить доступ к этим файлам, кроме как подключиться по ssh к CI-серверу и вручную скопировать файлы на мою машину для более тщательного изучения. Было бы чрезвычайно полезно, если бы я мог получить доступ к этим файлам через веб-интерфейс Jenkins.

Я пытался использовать build-helper-maven-plugin для прикрепления соответствующих файлов в качестве артефактов Maven, но проблема в том, что в Maven нет подходящей фазы, которая выполняется после интеграционного теста, если какой-либо тест не пройден.

Что я могу сделать? Могу ли я использовать для этого плагин «Копировать артефакт»?

Ответы [ 2 ]

1 голос
/ 28 марта 2012

1) Доступ к файлам в целевой папке можно получить по такой ссылке, как / ws / projectname / target / filename ...

2) Вместо того, чтобы каждый раз вводить URL, плагин SideBar можетиспользоваться для добавления ссылки на файл в левое меню Дженкинса, что делает его легко доступным.

0 голосов
/ 21 марта 2012

Вам нужно скопировать свои файлы в рабочее пространство на этапе сборки и архивировать их оттуда - Jenkins позволяет указывать артефакты только относительно рабочего пространства.

Обычно я создаю каталог с ключом BUILD_ID в рабочей области, чтобы артефакты из разных сборок не перепутывались в случае, если я не очистил рабочую область и архив оттуда (указав ${BUILD_ID}/**/* на этапе архивирования).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...