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