Как отметить нестабильную сборку в Jenkins при запуске сценариев оболочки

В проекте, над которым я работаю, мы используем сценарии оболочки для выполнения различных задач. Некоторые сценарии - это SH / Bash, запускающие Rsync, а некоторые - сценарии PHP. Один из сценариев PHP запускает некоторые интеграционные тесты, которые выводятся в JUnit XML, отчеты о покрытии кода и тому подобное.

Jenkins может отмечать задания как успешные / неудачные на основе статуса выхода . В PHP сценарий завершается с 1 , если он обнаружил неудачные тесты во время выполнения. Другие сценарии оболочки запускают команды и используют коды выхода из них, чтобы пометить сборку как неудачную.

// :: End of PHP script:
// If any tests have failed, fail the build
if ($build_error) exit(1);

В терминологии Дженкинса нестабильная сборка определяется как

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

Как я могу заставить Jenkins отмечать сборку как нестабильную, а не только успешную / неудачную при запуске сценариев оболочки?

79
задан bschlueter 12 June 2018 в 18:37
поделиться