Сонар Отчет + мультимодуль maven + плагин Jacoco
Я новичок в сонар. У меня есть мультимодульный проект Maven. пожалуйста, найдите структуру проекта ниже
-Parent
| -Module A
|
-pom.xml (Module A)
| -Module B
|
-pom.xml (Module B)
| -Module C
| |
| -pom.xml (Module C)
|
--pom.xml (parent pom)
Примечание: (Модуль C является общим модулем в модуле A/ модуле B - означает, что внутренний модуль C войдет в состав модуля A, библиотеки модуля B) Исходя из требований проекта, мы имеем следующую структуру.
- Модуль А - работает для внешних пользователей.
- Модуль Б - работает для внутренних пользователей.
Модуль C - общий ч / б как модуль.
Я пытаюсь создать один и тот же гидролокатор для обоих модулей, но не могу объединить весь отчет о модульном модуле (отчет о модуле A и модуле B) в один отчет. Я выполнил несколько примеров, чтобы объединить объект muti-module maven но ничего не работает.
похожая проблема1 похожая проблема2
github-пример (ссылка дана в сонаре)
2 ответа
Я могу добиться интеграционного тестирования с помощью сонара с плагином Jococo. Чтобы запустить Sonar на местном уровне, я столкнулся с проблемой ошибки SCM в сонаре. Каждый раз, когда это не удавалось в создании отчета сонара. Для решения проблемы в локальной сети необходимо отключить настройку SCM в гидролокаторе. войдите в локальный гидролокатор от имени администратора - admin/admin (имя пользователя / пароль по умолчанию). Теперь в настройках у нас есть вкладка SCM - отключить SCM Senor и сохранить настройки SCM.
Теперь в Dashboard -> Настройка виджетов. Поиск "Покрытие интеграционных тестов"
Теперь добавьте виджет в вашу панель проекта.
Следуйте той же конфигурации в вашем pom.xml, как указано в ссылке.
У меня была похожая проблема с более чем 40 модулями, которые были даже вложенными. Что вам нужно сделать, это создать целую конфигурацию сонара в родительском поме.
<sonar.host.url>set url here (default is localhost)</sonar.host.url>
<sonar.login>user for host url (default admin)</sonar.login>
<sonar.password>password for host url (default is admin)</sonar.password>
<sonar.projectName>optional name for whole project in sonar view</sonar.projectName>
<sonar.projectDescription>optional project description for sonar view</sonar.projectDescription>
<sonar.projectBaseDir>like name says you can set project base dir, if you have parent pom as a separate module then you can type ".." to set main directory with all modules</sonar.projectBaseDir>
Установите правильно все модули, которые будут проанализированы отдельно для всего проекта:
<sonar.modules>module1, module2, module3</sonar.modules>
Настройте каждый из них правильно:
<module1.sonar.projectName>module1</module1.sonar.projectName>
<module1.sonar.projectBaseDir>module1/</module1.sonar.projectBaseDir>
<module1.sonar.sources>optionally set sources to proper directory for example src/main/java</module1.sonar.sources>
<!-- similiar for other 2 projects -->
Таким образом, все отчеты Junit будут использоваться для каждого модуля, но будут перечислены в одном проекте с модулями. Таким образом, вы сможете просматривать отчеты по модулям и по всему проекту.
Рекомендуется проверять результаты после добавления каждого отдельного модуля. В случае сбоя просто проверьте ошибку в консоли и устраните проблему.