2017-02-16 29 views
0

Я создал несколько тестов с PHPUnit и laravel. Тесты выполняются локально успешно, но в качестве задания gitlab ci возникает ошибка.Как я могу отладить неудачную сборку 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 от веб-сервера.

Какова наилучшая практика для отладки ошибок в ци?

ответ

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