Gitlab CI - публикация неудачных результатов теста на страницах
Я создаю простой проект Java с использованием Gradle
который генерирует отчет об испытаниях (например, BDD Cucumber, JUnit и т. д.). Этот проект развернут в Gitlab
где проект построен как часть Gitlab CI
процесс.
мой JUnit
отчеты генерируются в папке build/reports/tests/test/
относительно пути проекта (как index.html
и немного CSS
файлы и т. д.).
Как мне настроить мой .gitlab-ci.yml
публиковать содержание build/reports/tests/test/
на страницы Gitlab даже после того, как мои тесты не пройдены?
Это то, что у меня есть в моем .gitlab-ci.yml
: (Мой репо можно найти ЗДЕСЬ)
Версия 1: ничего не публикует на страницах
image: java:8-jdk
stages:
- test
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
test:
stage: test
script:
- mkdir public
- ./gradlew test
artifacts:
paths:
- build/reports/tests/test/
only:
- master
after_script:
- mv build/reports/tests/test/* public
Версия 2: не выполняет deploy
этап с test
провалился.
image: java:8-jdk
stages:
- test
- deploy
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
test:
stage: test
script:
- ./gradlew test
artifacts:
paths:
- build/reports/tests/test/
pages:
stage: deploy
dependencies:
- test
script:
- mkdir public
- mv build/reports/tests/test/* public
artifacts:
paths:
- public
only:
- master
1 ответ
Я решил проблему, добавив when: always
в конце моего pages
этап. Теперь он выполняет этап независимо от кода выхода из зависимого этапа.