2017-02-16 3 views
0

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의 로그입니다.

ci에서 오류를 디버깅하는 가장 좋은 방법은 무엇입니까?

답변

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의 파이프 라인 섹션에서 아티팩트를 다운로드 할 수 있습니다

Gitlab Artifacts download

관련 문제