2012-03-21 3 views
0

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

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

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

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

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

+1

Вы пытались получить доступ к рабочему пространству через интерфейс Jenkins? – khmarbaise

+0

Как говорит @khmarbaise, до тех пор, пока вы не удаляете свое рабочее пространство в конце своей работы по сборке, вы можете получить доступ к своим файлам через http: // /job//ws/ –

+0

Да в точку. Но возникает вопрос: нужны ли вам эти артефакты только для целей контроля или вы хотите использовать их для других целей? – khmarbaise

ответ

1

1) Файлы в целевой папке можно получить с помощью ссылки, такие как/WS/Projectname/цели/имя файла ...

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

0

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

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

В случае сбоя сборки, прежде чем он сможет выполнить операцию копирования, и из-за этого не делается копия, посмотрите на this question.

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