Я хочу добавить в Jenkins сценарий командной строки как часть процесса сборки. Этот сценарий командной строки завершится с кодом ошибки 0
если дела будут успешными или 666
если не получится. Я хочу остановить сборку, если этот сценарий не сработает.
Можно ли это сделать с помощью Дженкинса? Если да, то как?
Будьте осторожны при выходе с кодами выше 255. Коды выхода должны быть в диапазоне 0-255. 0 означает успех, остальные 1-255 - коды ошибок. Вы также должны избегать зарезервированные коды ошибок которые имеют определенные значения.
cmp@cmp-dev:~$ bash --version
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Вот выход 666:
$ bash
$ exit 666
exit
$ echo $?
154
Он завершается 255:
$ bash
$ exit 256
exit
$ echo $?
0
Придерживайтесь 255 и меньше и избегайте зарезервированные коды ошибок (лучше, черт возьми, ты знаешь, а?)
Ваш сценарий сборки bash может set -e
перед запуском теста.
set -e
приведет к тому, что Jenkins остановит сборку, если во время сборки будет ненулевой статус выхода. У вас будет что-то вроде этого в поле Execute Shell в конфигурации проекта:
set -e
yourcommand1
yourcommand2