2015-08-25 15 views
0

Я использую SonarQube 5.1 с MSBuild SonarQube Runner для нашего контроля качества. В настоящее время поддержки SCM нет, хотя я уже установил плагин TFVC. Я получаю следующий журнал из процесса анализаКак настроить поддержку SCM для MSBuild SonarQube Runner?

07:18:22 07:18:22.352 INFO - Sensor SCM Sensor 
07:18:22 07:18:22.352 INFO - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it. 
07:18:22 07:18:22.352 INFO - Sensor SCM Sensor (done) | time=0ms 

Затем я установил следующие свойства в целом «sonar.properites» файл loacated в \ sonarqube-5.1.2 папку \ конф (который я могу делать неправильно)

sonar.scm.enabled=true 
sonar.scm.provider=tfvc 
sonar.tfvc.username=myTFSusername 
sonar.tfvc.password.secured=myTFSpassword 

Я предполагаю, что эти свойства должны быть установлены в файле «sonar-project.properties» и передается во время анализа (поправьте меня, если я ошибаюсь). Но проблема в том, что я использую MSBuild SonarQube Runner, файл sonar-project.properties больше не используется, а свойства проекта передаются во время анализа. Если это так, как я должен их пропускать?

Я много искал, но не смог найти подходящее решение таким образом, и я был бы очень рад, если бы кто-то мог помочь.

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

ответ

1

Дополнительные свойства передаются на Runner SonarQube MSBuild во время фазы begin, используя следующий синтаксис: /d:key=value.

Таким образом, вы можете передать все из них:

MSBuild.SonarQube.Runner begin /k:... /n:... /v:... /d:sonar.scm.enabled=true /d:sonar.scm.provider=tfvc /d:sonar.tfvc.username=... /d:sonar.tfvc.password.secured=.... 

Автоматическое определение ДМВ будет работать, если есть $tf на уровне «основу проекта дир». Этот каталог вычисляется как первый путь предка, общий для всех ваших файлов * .csproj. Вы можете увидеть его значение после файла, сгенерированного во время фазы end: .sonarqube\out\sonar-project.properties. Найдите значение свойства sonar.projectBaseDir в конце файла. См. https://jira.sonarsource.com/browse/SONARMSBRU-8.

+0

моя первоначальная проблема была решена :), но простите меня, я не получил последнюю часть ответа. значение 'sonar.projectBaseDir' является папкой решения, которая также является рабочей областью, но теперь журнал говорит:« Невозможно TFS аннотировать следующий файл, который не находится в отображаемом рабочем пространстве TFS: ~ имя файла с абсолютным путем », и это происходит для всех файлов в решении, чтобы их не анализировать. – ChatSamee

+0

Последняя часть посвящена автоматическому обнаружению того, что TFS используется как SCM, и, таким образом, чтобы не было необходимости явно указывать 'sonar.scm.provider = tfvc' –

+0

Ваша новая проблема может относиться к https: // github. com/SonarCommunity/sonar-scm-tfvc/pull/7 - Я создам моментальную версию плагина SonarQube SCM TFVC, чтобы вы могли проверить, исправляет ли эта проблема –