SonarRunner не может найти сонар.projectKey, сонар.имя_проекта, сонар.projectVersion, сонар.источники

Я пытаюсь заставить Дженкинса запустить Сонар в качестве шага после сборки.

Дженкинс запускает SonarRunner [1], но это не удается с:

ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: You must define the following mandatory properties for 'Unknown': sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources

если я запускаю mvn sonar:sonar [2] вместо этого он работает нормально. Это звучит почти как SonarRunner игнорирует пом.XML. как заставить SonarRunner забрать эти свойства у Maven?


[1] /Users/builds/.jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/Default_Sonar_Runner/bin/sonar-runner -Dsonar.jdbc.url=jdbc:h2:tcp://myServer:1009/sonar -Dsonar.host.url=http://myServer/sonar/ -Dsonar.projectBaseDir=/Users/builds/.jenkins/workspace/myProject

[2] mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://myServer:1009/sonar -Dsonar.host.url=http://myServer/sonar/ -Dsonar.projectBaseDir=/Users/builds/.jenkins/workspace/myProject

3 ответов


какой приятный способ провести вечер...

по данным этой Sonar Runner не предназначен для проектов Maven. Оказывается, вы должны искать в разделе " Действия после сборки "(а не" шаги после сборки"), и вы найдете"Сонар". См.здесь для получения дополнительной информации.


Способ 1: Если вы установили сканер в Jenkins, просто добавьте следующее в этом месте на работе
Опубликовать шаги - > выполнить сканер SonarQube - > свойства анализа

sonar.projectKey=myProject1
sonar.sources=.

Способ 2: Другой альтернативой является использование устаревшего метода, который по-прежнему работает нормально Действия после сборки - > анализ SonarQube с Maven

Способ 3: Build - > цели и опции - > "введите ниже скрипт" -Dmaven.тест.skip=true install sonar:sonar-Dsonar.forceAnalysis=true-Dsonar.хозяин.URL-адрес=http://localhost:9000/ -Dsonar.branch=my-branch-1


есть некоторые данные Maven GAV info, сопоставленные с переменными Дженкинса, посмотрите на эту тему:автоматически выводить обязательные свойства SonarQube из файла pom в Jenkins