Как мне преобразовать HTML отчета JaCoCo в PDF в конвейере Maven GitLab CI / CD

# #java #maven #gitlab #gitlab-ci

Вопрос:

Я пытаюсь сохранить index.html файл из отчета JaCoCo путем преобразования в формат PDF в конвейере CI / CD. Какая правильная команда для преобразования из HTML в PDF в GitLab?

Ответ №1:

Jacoco изначально не поддерживает pdf. Тем не менее, он генерирует отчет html. Таким образом, вы можете использовать инструмент cli для преобразования html в pdf.

Например https://wkhtmltopdf.org / или пандок.

Вам нужно будет установить его в свою работу / использовать образ docker, который уже содержит его.

Пример:

 Test:
  image: maven:3.8.3-jdk-11-slim
  stage: test
  script:
    - mvn $MAVEN_CLI_OPTS clean org.jacoco:jacoco-maven-plugin:prepare-agent test 
    - mvn $MAVEN_CLI_OPTS jacoco:report 
  artifacts:
    when: always
    paths:
      - target/site/jacoco/jacoco.xml

jacoco2pdf:
  image: riftbit/goracle:alpine-19.3
  stage: deploy
  script:
    - cd  target/site/jacoco
    - wkhtmltopdf index.html jacoco.pdf
  artifacts:
    when: always
    paths:
      - target/site/jacoco/jacoco.pdf
 

Обратите внимание, что используемый образ docker — это всего лишь пример. Вы не должны использовать его в рабочей среде, если сначала не проверите его содержимое.