Я пытаюсь реализовать Quality Gate через плагин предупреждений в Jenkins в своих проектах Delphi (на основе MSBuild). Конечная цель на данный момент — пометить как неудачную любую сборку, в которой количество подсказок+предупреждений больше, чем в предыдущей сборке.
Я настроил плагин предупреждений, как предложено здесь, так как это имеет смысл. Я также установил флаг «Игнорировать результаты проверок качества при определении эталонной сборки», так как мне просто нужно, чтобы текущая сборка сравнивалась с предыдущей.
Однако это не работает должным образом, и основная проблема, по-видимому, заключается в том, что плагин не может установить эталонную сборку для сравнения новой сборки (на самом деле это также влияет на то, как я вижу текущее состояние подсказок/предупреждений в моих сборках). , они всегда отмечаются как «выдающиеся», даже если есть новые или исправленные проблемы).
Вывод консоли показывает эти строки рядом с журналом контроля качества:
[MSBuild] Reference build recorder is not configured
[MSBuild] No valid reference build found
[MSBuild] All reported issues will be considered outstanding
[MSBuild] Evaluating quality gates
[MSBuild] -> All quality gates have been passed
[MSBuild] -> Details for each quality gate:
[MSBuild] - [New (any severity)]: ?Completato con successo? - (Actual value: 0, Quality gate: 1,00)
Я понятия не имею, как настроить/включить «рекордер эталонных сборок», и я не вижу никаких ссылок в Интернете, на самом деле я думал, что нужно просто сравнить текущую сборку с предыдущей.
Что мне не хватает?





Хорошо, я разобрался. На самом деле я пропустил шаг.
Как указано здесь, шаг «Обнаружение эталонной сборки» должен быть вызван перед плагином «Предупреждения», чтобы... ну, обнаружить эталонную сборку, с которой можно сравнить текущую.
Надеюсь, это может быть полезно для других, пропустивших это не столь очевидное требование.