У меня возникли проблемы с интеграцией SonarQube в TeamCity с MSBuild.
По сути, наша ночная сборка с использованием SonarQube разбита на 5 шагов:
1 - Инициализация SonarQube
MSBuild.SonarQube.Runner.exe begin
/k:"tsmm-%sonar.project%"
/n:"%sonar.project%"
/v:"%sonar.project.version%"
/d:sonar.host.url="%sonar.host.url%"
/d:sonar.cs.dotcover.reportsPaths="coverage-report.html"
/d:sonar.cs.nunit.reportsPaths="nunit-results.xml"
/d:sonar.verbose=true
/d:sonar.jdbc.username="%sonar.jdbc.username%"
/d:sonar.jdbc.password="%sonar.jdbc.password%"
/d:sonar.jdbc.url="%sonar.jdbc.url%"
2 - Реставрация маггетов
3 - MSBuild
4 - Тесты через NUnit
5 - Публикация результатов в SonarQube
MSBuild.SonarQube.Runner.exe end
/d:sonar.scm.disabled=true
/d:sonar.jdbc.username="%sonar.jdbc.username%"
/d:sonar.jdbc.password="%sonar.jdbc.password%"
Когда TeamCity запускает указанное выше определение сборки, все идет нормально, пока не будет достигнут шаг №. 5, как указано в журнале сборки:
Step 5/5: Publish to SonarQube (Command Line)
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
...
Caused by: org.sonar.api.utils.SonarException: SCM URL should be provided. Please review "sonar.scm.url" parameter (or the <scm> section of pom.xml if you are using Maven).
Я просмотрел разные ресурсы, включая официальный: http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild
Но мне не удалось найти какое-либо правильное объяснение, я также попытался отключить поддержку scm, как указано на этой странице: http://docs.sonarqube.org/display/SONAR/SCM+support, добавив /d:sonar.scm.disabled=true
к шагу 1, но это ничего не меняет.