我用PHPUnit和laravel创建了一些测试。测试在本地运行成功,但作为gitlab ci工作有一个错误。
这是ci日志:
There was 1 failure:
1) Tests\Feature\AuthTest::testAuthLoggedInIsAdmin
Expected status code 200 but received 500.
Failed asserting that false is true.
/builds/XXX/webproject/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php:55
/builds/XX/webproject/tests/Feature/AuthTest.php:53
为了更好地调试并找到解决方案,我需要来自项目的错误跟踪或来自网络服务器的error.log
。
在ci中调试错误的最佳做法是什么?
答案 0 :(得分:1)
您必须在作业中添加artifact
。您可以设置工件,仅在失败时创建工件。如果构建失败,则将孔项目转储到分离的位置。现在,您可以浏览转储中的每个文件。
<强> .gitlab-ci.yml 强>
stages:
- test
- deploy
php-7.0:
stage: test
type: test
services:
- mysql:latest
image: tetraweb/php:7.0
script:
- bash .gitlab-ci.sh
- php vendor/bin/phpunit --coverage-text --colors=never
artifacts:
when: on_failure
name: "${CI_BUILD_STAGE}_${CI_BUILD_REF_NAME}_FAILED"
paths:
- "."
untracked: false
expire_in: 1 day
deploy:
stage: deploy
# etc...
Here是关于工件的更多信息。
您可以在gitlab的管道部分下载工件: