Анализ SonarQube от Maven и Jenkins дает разные результаты - PullRequest
0 голосов
/ 04 февраля 2019

Я использую SonarQube версии 6.7 для запуска анализа проектов Maven с помощью команды mvn clean verify sonar:sonar из каталога проектов с использованием командной строки и получения результатов.Конфигурации сонара в settings.xml для maven (v3.5.3) добавляются соответственно.

В Jenkins (версия 2.161) я установил плагин SonarQube Scanner for Jenkins (v2.8.1).Конфигурация сервера SonarQube настраивается следующим образом.

enter image description here

В проекте Jenkins maven я настроил этапы публикации, как показано ниже.enter image description here

Я проверил Prepare SonarQube Scanner environment в разделе Build Environment, и цель сборки - -e clean verify sonar:sonar.

Моя проблема заключается в том, когда SonarQubeанализ для проекта maven запускается через командную строку с помощью команды mvn clean verify sonar:sonar, я получаю результаты, как и ожидалось.Но когда задание Jenkins запускается с указанными выше конфигурациями для одного и того же проекта maven, результаты отличаются и неверны.Чего мне не хватает?

PS- В Post-build Actions я вижу, что SonarQube analysis with maven устарело.

Заранее спасибо.

1 Ответ

0 голосов
/ 05 февраля 2019

Вы используете разные сканеры.Сначала вы использовали SonarScanner для Maven (mvn sonar:sonar).Затем вы использовали Basi SonarScanner, который требует ручной настройки всех параметров.

Лучший вариант - использовать всегда один и тот же сканер.У вас есть проект Maven, поэтому вы можете включить Prepare SonarQube Scanner environment в Build Environment и затем выполнить цель сонара $SONAR_MAVEN_GOAL в Build.

build environment

build

...