Как настроить sonarqube в Multi Maven проекта, работающего от Дженкинса - PullRequest
0 голосов
/ 08 октября 2018

при условии, что у вас есть модуль maven со следующей структурой:

  • корневой модуль
    • модуль интеграционного тестирования
    • исходный модуль A
    • исходный кодмодуль B
    • дополнительные модули ...

и у вас есть конвейер в jenkins, который использует несколько заданий как часть процесса сборки: предварительное задание, которое компилируетсявсе модули, а затем дополнительное задание, которое запускает интеграционный тест, выполняя команду maven на модуле интеграционных тестов.

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

Из того, что я понимаю, есть два способа сделать это, и предпочтительнее первый способ -

мы попытались настроить свойство базового каталога ( sonar.projectBaseDir )как параметр maven, свойство pom и в файле sonar-project.properties.(также пробовал абсолютные и относительные пути)

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

enter image description here

Дополнительные данные:

списокпараметров сонара (переданных maven) -

sonar.host.url=$SONAR_HOST_URL
sonar.login=$SONAR_AUTH_TOKEN
sonar.sources=src/main
sonar.projectBaseDir=../
sonar.jacoco.reportPaths=**/target/jacoco-it.exec

Я использую следующие версии:

  • Сервер Sonarqube: 7.3
  • sonar-maven-plugin:3.5.0.1254.

Я что-то упустил?Сонар поддерживает такую ​​конфигурацию?Буду признателен за любую помощь ..

...