Как настроить Jacoco с помощью SonarQube и Maven в Jenkins

LMN

Я пытаюсь включить сканирование покрытия кода Sonarqube. Я работаю над проектом Maven в Eclipse и уже настроил успешную сборку Jenkins, включая Sonar-scan.

Мне уже удалось использовать Jacoco локально; Я добавил плагин Jacoco в pom.xml и выполнил его jacoco:prepare-agent test jacoco:reportчерез Run As-> Maven build.... После этого звонка были расположены отчеты в формате html, target\site\jacocoи они кажутся правильными.

Теперь мне нужно заставить его работать в Jenkins, но я не знаю, как правильно настроить сборку. В настоящее время выполняются цель maven clean package -faeи Invoke Standalone Sonar Analysisэтап сборки. Я обнаружил, что sonar.jacoco.reportPathнеобходимо установить, но я не знаю, где это установить или где вызвать jacoco:reportцель. Также я не уверен, нужно ли мне добавить плагин jacoco к jenkins, или этого достаточно в проекте maven.

Любая помощь приветствуется, также, пожалуйста, дайте мне знать, если я могу что-то сделать, чтобы улучшить свой вопрос.

LMN

Наконец-то я заставил это работать. Если у кого-то есть похожие проблемы, я публикую свое решение здесь:

В Jenkins необходимо настроить свойства sonar.junit.reportsPath и sonar.jacoco.reportPath. В Jenkins не нужно выполнять никаких дополнительных задач.

В проектах pom.xml необходимо указать

    <properties>
       <jacoco-maven-plugin.version>0.7.4.201502262128</jacoco-maven-plugin.version>
    </properties>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.jacoco</groupId>
                                    <artifactId>jacoco-maven-plugin</artifactId>
                                    <versionRange>(,0.7.4.201502262128]</versionRange>
                                    <goals>
                                        <goal>prepare-agent</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-maven-plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Цель prepare-agentдолжна быть достигнута, но сначала создается

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

Чтобы решить эту проблему, необходим pluginManagementблок, поскольку он игнорирует предстоящие проблемы. Здесь очевидно для использования versionRangeи не только version, также требуется эта конкретная версия, более поздние версии здесь не работают.

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Как интегрировать автономные исполняемые файлы JaCoCo из многопроектной сборки Maven в SonarQube

Как я могу исключить файлы покрытия кода SonarQube, используя плагин JaCoCo maven

Как я могу интегрировать отчеты Jacoco с SonarQube без использования maven?

Как я могу интегрировать отчеты Jacoco с SonarQube без использования maven?

Анализ SonarQube от maven и Jenkins дает разные результаты

Код выхода 137 из конвейера Jenkins: сбой сборки maven при анализе sonarqube

Автономные инструменты SonarQube Jacoco показывают 0% покрытие в проекте Maven Multi Module Project

SonarQube + Maven + JaCoCo + GitLab CI: Sonar начал показывать 0% покрытия кода после обновления до SonarQube 7.9.2

Как SonarQube рассчитывает покрытие через JaCoCo?

Агрегированные покрытия или покрытия в зависимых модулей, не показанных на SonarQube + Отчеты генерируются Jacoco

В покрытии SonarQube отсутствуют некоторые строки, описанные в отчете Jacoco

Общее покрытие Sonarqube не соответствует освещению в отчете jacoco

Как после успешного анализа выгружать отчеты JaCoCo в SonarQube отдельным вызовом?

Сканер SonarQube + Jenkins + Maven = java.lang.ClassFormatError

Как обеспечить покрытие кода в Jenkins с помощью Jacoco и нескольких модулей?

Можно ли отобразить отчет о покрытии Jacoco на панели управления Jenkins?

Плагин Jenkins jacoco пустой отчет

Почему в отчете JaCoCo Jenkins отображается только описание инструкций?

Maven / Jacoco - как получить объединенный отчет после успешных тестов и слияния файлов данных jacoco?

Конфигурация Maven Jacoco для многомодульных проектов

Можно ли запускать плагин JaCoCo maven только во время жизненного цикла сайта?

Покрытие кода в сборке maven - Пропуск выполнения JaCoCo из-за отсутствия каталога классов

Охват многомодульного проекта Jacoco Maven

maven jacoco: не генерируется отчет о покрытии кода

Проблемы с настройкой JaCoCo в Maven

JaCoCo с Maven - отсутствует файл данных исполнения

Конфигурация Maven Jacoco - исключить классы / пакеты из отчета, не работающего

Maven Jacoco - многомодульный проект. Какая самая простая (централизованная?) Настройка?

Создание отчета о покрытии кода JaCoCo с помощью Maven

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл