У нас есть несколько php-скриптов, обернутых другими не-php-командами в один скрипт, например:
build_stuff.sh
mv things stuff
cp files folders
composer install
php bin/console some:command
php bin/console some:other:command
Этот сценарий оболочки затем вызывается на этапе сборки «execute shell».
sh ./build_stuff.sh
Есть ли возможность прервать сборку как «сбой», как только появятся ошибки / предупреждения php?
Так что следующая команда не будет выполнена.
И все же поддерживать все команды в одном скрипте.
…
Я обнаружил плагин Log Parser, но я хотел бы прервать работу при возникновении ошибок, а не продолжить и проанализировать журналы после этого.
Я думал о том, чтобы, возможно, перехватить коды выхода PHP, как описано здесь:
Получить статус выхода из php-скрипта внутри shell-скрипта
Но вы не сможете немедленно посмотрите текстовый вывод скриптов php тогда, не так ли?
Объединение их с двойными амперсандами сделает работу. В приведенном ниже примере cmd2
будет выполнен только если cmd1
успешно (возвращает нулевой статус выхода).
cmd1 && cmd2
Это будет работать с композитором; но ваши команды могут нуждаться в модификации для отправки правильных кодов выхода.
Других решений пока нет …