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 этап. Теперь он выполняет этап независимо от кода выхода из зависимого этапа.

Другие вопросы по тегам