2012-02-29 3 views
0

Я хочу настроить мой Jenkins-сервер, чтобы флаг сборки был нестабильным, если обнаружены нарушения PMD, а затем, если нарушения не будут исправлены в последующей сборке, сборка должна быть отмечена как не смогли.Настроить Jenkins PMD для продвижения статуса с «Стабильный» до «Неудачен»

Я пытался настроить пороги плагина PMD на этом, но его либо нестабильно, либо не удалось - я не могу заставить его перемещаться из состояния в состояние. Я думал, что видел это поведение от Jenkins/PMD в другом проекте, но, возможно, я ошибался, есть ли какая-то комбинация плагинов, которая позволила бы мне это сделать?

Cheers!

ответ

0

К сожалению, с плагином PMD это не похоже. Как уже упоминалось в вопросе, можно пометить сборку как неудачную или нестабильную с использованием пороговых значений, но у нее нет памяти из сборки для сборки.

Ближайшее к тому, что вы хотите, это то, что вы можете пометить сборку как неудачную или неустойчивую, вычислив разницу в количестве предупреждений между текущей и предыдущей сборкой (отметьте «Вычислить новые предупреждения (на основе сборки ссылок)» в конфигурация проекта). Например. отметьте как неустойчивое, если есть x больше нарушений, чем предыдущая сборка. Однако то, что вы хотите, это пометить его как неудачное, если есть 0 или более нарушений, но только в том случае, если есть нарушения в первую очередь - это, скорее всего, будет иметь нежелательный эффект от сбоя всех сборок, если есть даже одно нарушение.

Возможно, это стоит requesting this feature с разработчиком?

+0

У меня будет трещина при реализации этого сам, и если я нигде не попрошу его у разработчика. – tja

1

Мы можем сделать это, объединив maven, ant, PMD инструменты для сборки.

После успешной интеграции после завершения сборки мы можем проверить счетчик нарушений, возвращенный PMD, против порога, который мы передали в качестве аргумента для сборки муравьев. Если количество нарушений превышает пороговое значение, то отметьте сборку как Failed.

Эти настройки могут быть интегрированы в Jenkins (непрерывная интеграция и развертывание).