如何防止解析错误停止linux命令执行链

时间:2014-05-01 12:51:52

标签: php linux bash laravel gitlab-ci

我们有一个自动运行测试的CI服务器。一切都很好,除了今天早上,当#34; phpunit"运行它遇到一些错误的PHP语法退出下面的执行链,以便artisan ci:cleanup永远不会运行。

php artisan ci:prepare
./vendor/bin/phpunit
php artisan ci:cleanup

GitLab-CI的日志输出的尾端如下所示,表明此解析错误阻止了清理运行。

./vendor/bin/phpunit
PHP Parse error:  syntax error, unexpected '<<' (T_SL) in /home/gitlab_ci_runner/gitlab-runners/gitlab-ci-runner/tmp/builds/project-9/app/lib/Tests/Shared/Controllers/Api/AuthTest.php on line 64

我更愿意避免编写bash文件或其他东西来处理执行/错误,但我仍然需要像往常一样在GitLab-CI的日志中显示输出。

如果不阻止清理运行,我应该如何处理这种终止错误?

1 个答案:

答案 0 :(得分:0)

解决此问题的一种(相当hacky)方法是在命令末尾添加|| true。例如:

./vendor/php/phpunit || true

这应该解决任何错误陷阱。