У проекті, над яким я працюю, ми використовуємо сценарії оболонки для виконання різних завдань. Деякі з них є скриптами 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);
У термінології Дженкінса нестабільна збірка визначається як:
Збірка нестабільна, якщо вона була успішно побудована, і один або кілька видавців повідомляють про неї нестабільною. Наприклад, якщо видавець JUnit налаштовано, а тест не вдався, то збірка буде позначена як нестабільна.
Як я можу змусити Дженкінса позначити збірку як нестабільну, а не лише як успішну / невдалу під час запуску сценаріїв оболонки?