sh "ansible-playbook -i <args>"
Я бы предположил, что для блока оболочки не установлено значение set -e
, и поэтому, как и большинство сценариев оболочки, он не считает неудачную команду неудачной для всего сценария. Тяжелый антипаттерн, ИМХО, но большинство сценариев, которые я видел, легко встречаются
Итак, я полагаю, sh "set -e; ansible-playbook -i ..."
исправит это, или (теоретически) вы можете использовать exec
, поскольку это единственная команда, которая присутствует, и, следовательно, сбой ansible-playbook равен . отказ этой оболочки: sh "exec ansible-playbook -i ..."