Jenkins Build не работает, когда артефактов нет - PullRequest
6 голосов
/ 23 декабря 2011

Я использую Jenkins для запуска некоторых интеграционных тестов в веб-приложении (с использованием огурца, капибары и селена)

При каждом сбое теста сохраняется скриншот, исходный код HTML и видео процесса.

структура пути выглядит следующим образом:

results/output/<test_name>/<files>

Я использую функцию архивных артефактов Jenkins для предоставления файлов (шаблон: results/output/*/*).Он отлично работает.

Однако, как только сборка завершается успешно, снимки экрана / видео отсутствуют и т. Д., И сборка завершается неудачно, поскольку Jenkins не может найти файлы для шаблона.

Есть ли способ сказать Дженкинсу, чтобы он добился успеха без наличия файлов?

Я не хочу делать грязный хак, который включает создание пустой структуры папок, такой как result / output / success / hooray.txt.

Ответы [ 2 ]

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

Для этого есть открытый вопрос: https://issues.jenkins -ci.org / browse / JENKINS-10502

Поведение контролируется системным свойством hudson.tasks.ArtifactArchiver.warnOnEmpty, как объяснено на https://wiki.jenkins -ci.org / display / JENKINS / Возможности +, управляемые + системой + свойства

4 голосов
/ 23 декабря 2011

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

1) Добавлена ​​команда на этапы сборки, которая создает фиктивный временный файл, если файлов еще не было.

В этом случае предполагалось собрать файл output.pdf, который будет сгенерирован в случае неудачи тестов. Я добавил шаг сборки, где, если этот файл не существовал, мы создали файл «missing.pdf». Тогда я собираю в качестве артефактов '* .pdf' из данного каталога. Это, кажется, работает очень хорошо.

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

То, что мы здесь сделали, было сделано так, чтобы шаг сборки всегда создавал один пустой файл в целевой области. Таким образом, шарик всегда соответствует чему-либо.

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

...