В проекте, над которым я работаю, мы используем сценарии оболочки для выполнения различных задач. Некоторые скрипты SH/ Bash, которые запускают Rsync, а некоторые - скрипты PHP. Один из скриптов PHP запускает некоторые интеграционные тесты, которые выводятся в JUnit XML, отчеты о покрытии кода и т.д.
Дженкинс способен отмечать задания как успешные/неудачные на основе статус выхода. В PHP скрипт завершается с 1, если он обнаружил, что неудачные тесты во время прогона. Другие сценарии оболочки запускают команды и используют коды выхода из них, чтобы пометить сборку как неудачную.
// :: End of PHP скрипт:
// If any tests have failed, fail the build
if ($build_error) exit(1);
В терминология Дженкинса нестабильная сборка определяется как
Строка нестабильна, если она была построена успешно, и один или несколько издателей сообщают об ее неустойчивости. Например, если издатель JUnit настроен и тест не выполняется, сборка будет отмечена как неустойчивая.
Как я могу заставить Jenkins отмечать сборку как неустойчивую, а не только успех/неудачу при запуске сценариев оболочки?