Как изменить код выхода сообщения bash - PullRequest
0 голосов
/ 25 января 2019

У меня есть конвейер CI CD, где я использую задачу bash для выполнения некоторого сценария. Я хочу, чтобы сборка не удалась, если скрипт не удастся. Итак, теперь я реализовал код выхода, где скрипт bash должен завершиться с ошибкой. Все хорошо, кроме сообщения об ошибке.

Bash exited with code 2

Я хочу использовать код выхода, с помощью которого я могу установить сообщение об ошибке, например:

exit "script failed because alerts were found"

Но я обнаружил в сети, что вы можете передавать только целые числа в свой код выхода. Пытался исправить это с помощью:

echo "fail message"
exit code 2

Но на моем конвейере я получил сообщение Bash exited with code '2'., и после того, как я открыл вывод задачи, я увидел свое эхо-сообщение. Не знаю, если это проблема DevOps Azure, или я могу исправить это в bash. У кого-нибудь есть идеи?

[EDIT] Пробовал с ловушкой внутри моей локальной машины, и пользовательское сообщение об ошибке работает. Но то же самое не работало в Azure DevOps. Я мог бы подумать, что это невозможно в DevOps Azure -_-. Есть кто-то, кто уже попробовал это?

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Возможно, консоль на скриншоте показывает только стандартную ошибку скрипта?

Я бы попробовал что-то вроде:

echo "fail message" 1>&2
exit code 2
0 голосов
/ 25 января 2019

Я бы посоветовал вам взглянуть на команду "trap": https://www.shellscript.sh/trap.html

и попробуйте что-то вроде:

trap 'your_function' EXIT
...