У меня есть это основное .gitlab-ci.yml
файл.
image: php:7.2
before_script:
# install git
- apt-get update -yqq
- apt-get install git -yqq
# Install composer
- curl -sS https://getcomposer.org/installer | php
# Install all project dependencies
- php composer.phar install
tests:
script:
- vendor/bin/phpunit tests
Это прекрасно работает, предупреждает меня, если модульные тесты не пройдены или пройдены успешно.
Мой вопрос: как именно Gitlab CI знает это? Разбирают ли они вывод PHPUnit и проверяют ли строку FAILURES!
существовать?
Gitlab-ci проверяет только коды выхода процессов, запущенных внутри него. Если процесс завершается с кодом состояния, отличным от 0, конвейер останавливается и объявляет ошибку. Так работает конвейер CI, не только gitlab, но и Jenkins и т. Д.
Других решений пока нет …