Может ли сборка Jenkins провалиться из-за падения покрытия? - PullRequest
36 голосов
/ 26 июня 2011

Я видел несколько сообщений о сбое сборки Jenkins, поддерживаемой Maven, для данного проекта, если порог покрытия не достигнут, т. Е. Покрытие должно быть не менее 80% или сборка не удалась.

Мне интересно, есть ли способ настроить Jenkins на сбой при сборке, если охват ниже, чем при последней сборке, т. Е. Если охват для сборки N равен 20%, а N + 1 равен 19%, то сборка выходит из строя. Я не хочу устанавливать явный порог, но я хочу, чтобы охват оставался стабильным или увеличивался с течением времени.

Ответы [ 5 ]

9 голосов
/ 16 мая 2012

Я не пробовал, но, если вы используете плагин maven cobertura, я думаю, что он может быть настроен на сбой, как описано здесь .Неужели Дженкинс не соблюдает ошибку?

Я также вижу запрос открытой функции для этого.

4 голосов
/ 18 сентября 2012

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

4 голосов
/ 20 мая 2012

Сохранить последний процент покрытия на стороне.Используйте скрипт Groovy (запускается через Groovy Plugin ), который подключается к Jenkins Java API , чтобы сравнить текущий уровень покрытия с предыдущим и завершить сборку, если он падает.Если вы серьезно решили пойти по этому пути, я могу предоставить более подробную информацию и примеры кода.

1 голос
/ 27 июня 2011

Это должно настраиваться в разделе конфигурации плагина, который рассчитывает покрытие. Например. для плагина PMD вы можете настроить ограничения для нестабильной или неудачной сборки на странице конфигурации задания в разделе «Настройки сборки».

0 голосов
/ 17 мая 2012

В NCover я указываю определенный процент через файл конфигурации. Вы можете создать скрипт Python (или подобный, чтобы изменить это значение, если хотите). Кроме этого я не думаю, что есть какие-либо переменные конфигурации

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