Сбой сборки, когда тренд в сонаре плохой - PullRequest
1 голос
/ 05 сентября 2011

Предлагает ли Sonar какой-либо способ поднять оповещения и провалить сборку, если тренд для определенных метрик плохой?

Справочная информация. В нашем унаследованном проекте использование статического порога, например, для покрытия кода («красное предупреждение, когда покрытие ниже 80%»), не имеет особого смысла.Но мы хотели бы убедиться, что покрытие не будет снижаться дальше.

Пожалуйста, не давайте никаких советов о снижении планки с использованием менее ограничительного набора правил.В нашем случае это не вариант.

Ответы [ 3 ]

3 голосов
/ 07 сентября 2011

Существует плагин прерывателя сборки, который не выполнит сборку, если вы нарушите настройку порога предупреждения или ошибки в профиле качества.

Подробности плагинов находятся здесь:

http://docs.sonarqube.org/display/PLUG/Build+Breaker+Plugin

Не осведомлен о какой-либо функциональности, которая дает вам метрическую тенденцию.

Мы используем Sonar как второй последний шаг в нашем процессе выпуска. Прерыватель сборки гарантирует, что выпуски не нарушают заданные критерии качества.

0 голосов
/ 04 мая 2018

В то же время мы написали сценарий для нашего собственного средства взлома сборок, которое используется в нашей сборке.Мы используем Groovy для запроса REST API Sonar для получения определенного набора метрик (включая их исторические значения).Поиск метрик обеспечивается плагином сборки, который предоставляется для всего нашего подразделения.

Каждая команда может параметризовать свою сборку с помощью набора правил, касающихся тех метрик, которые должны быть проверены для их проекта.Конечно, правила также представлены в виде фрагментов Groovy: -)

Типичными являются:

  • Количество нарушений (основных | критических | блокирующих) меньше или равно, чем в предыдущей сборке
  • Нет новых дубликатов
  • Покрытие не ниже, чем в предыдущей сборке

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

0 голосов
/ 14 сентября 2011

Мы попробовали точно так же, используя плагин build breaker.Через некоторое время он оказался слишком негибким (и настройка Sonar - беспорядок), поэтому мы перешли с сонара на плагины Jenkins / Hudson, такие как Cobertura (для покрытия кода) или PMD для стиля кода:

С помощью этих плагинов возможны очень тонкие настройки, например, для сборки желтому цвету при <70% покрытия кода или красному цвету <50%;даже символ погоды для каждой сборки может быть изменен. </p>

...