Отчет о покрытии работает в Jenkins с использованием Jacoco, но я не могу получить отчет о покрытии в SonarQube

Я использую Jenkins + Jacoco + Sonarqube для тестирования своего кода. В Jenkins моя команда mvn:

clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.skip=false -Dmaven.test.failure.ignore=true sonar:sonar

И после сборки я добавляю действие «запись отчета о покрытии jacoco».

Но в результате Дженкинс работает следующим образом:

Отчет о покрытии работает в Jenkins с использованием Jacoco, но я не могу получить отчет о покрытии в SonarQube

Он показывает отчет о покрытии и другую информацию. Но я не могу получить процент покрытия в sonarQube, поэтому невозможно пройти через порог качества в Sonarqube.

Отчет о покрытии работает в Jenkins с использованием Jacoco, но я не могу получить отчет о покрытии в SonarQube

Я предполагаю, что эхолот не может найти отчет о покрытии, потому что его нет на вкладке «Код» в SonarQube.

Пожалуйста, помогите мне, мне отчаянно нужно решение.

Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
1
0
1 000
2

Ответы 2

сонар читает файл jacocoexec, созданный при выполнении плагина, вы можете использовать целевой файл вашего проекта, если файл создается, если путь к файлу отличается, вам необходимо указать его в файле свойств сонара

Спасибо, Аднан. Проблема в рабочем пространстве Jenkins, у меня jacoco.exec. Но этого файла нет в Sonar. У меня только файлы .java.

Chao Jiang 14.08.2018 05:30

Чтобы отображать ваше покрытие в SonarQube, вы должны настроить файл sonarqube.properties. В свойствах сонара есть параметр sonar.jacoco.reportPaths. Вы должны добавить этот параметр, указав путь к вашему файлу jacoco.exec. Например:

sonar.jacoco.reportPaths=yourpath/jacoco.exec

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

Коллекция почтальона json, запускаемая от jenkins с помощью пакетной команды newman. Двоичный файл заполняется на экране Дженкинса, пожалуйста, помогите мне исправить эту проблему
Пометить цепочку заданий Jenkins как сбойную, если не удается выполнить какое-либо последующее задание
У меня есть отличный файл utils с несколькими методами, как один метод может вызывать другой
Ввести все переменные env GERRIT, как если бы задание Jenkins было запущено событием gerrit
Как заставить работу Дженкинса ждать завершения другой работы?
Ошибка: не удалось подключиться к Cloud Shell через порт 8080 (развертывание Jenkins в облаке google kubernetes)
Настройте плагин Jenkins Blue Ocean с помощью отличного скрипта
Выдавать команды докеров на ведомом устройстве Jenkins
Плагин Jenkins Docker Pipeline - поддержка опции --email в withDockerRegistry
Как заставить последующие этапы проверки scm использовать локальное репо в конвейере Jenkins?