В проекте, над которым я работаю, мы используем сценарии оболочки для выполнения различных задач. Некоторые сценарии - это 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);
В терминологии Jenkins нестабильная сборка определяется как
Сборка нестабильна, если она была построена успешно, и один или несколько издателей сообщают о ее нестабильности. Например, если издатель JUnit настроен и тест не пройден, сборка будет помечена как нестабильная.
Как заставить Дженкинса пометить сборку как нестабильную, а не только успешную / неудачную при запуске сценариев оболочки?