我们有一个CI服务器,可以自动运行我们的测试。所有的工作都很好,除了今天早上一个构建被推上来,当"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的日志中。
在不妨碍清理运行的情况下,我应该如何最好地处理这种终止错误?
发布于 2014-05-02 21:32:21
解决这个问题的一种方法(相当老套)是在命令的末尾添加|| true
。例如:
./vendor/php/phpunit || true
这应该可以绕过任何适当的错误陷阱。
https://stackoverflow.com/questions/23408062
复制相似问题