Как настроить Teamcitys SonarQube Runner для анализа файлов C # - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь настроить SonarQube для проекта C #, используя Teamcity.Проблема в том, что файлы C # не анализируются.

Не могли бы вы еще раз проверить мою конфигурацию и сообщить мне, если я что-то пропустил?У меня нет идей, почему он не анализирует файлы C #.

Teamcity configuration

Teamcity configuration (Continued)

Project Analysis

SonarQube plugins, SonarC# is in the list

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, и я отредактирую вопрос.

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Внутри дополнительных параметров попробуйте добавить это:

-Dsonar.lanauge=c#

Если это не работает, попробуйте использовать средство запуска командной строки вместо плагина TeamCity:

Шаг 1:

Загрузите и установите SonarQube MSBuild Runner отсюда .

Шаг 2:

Создайте бегунок командной строки на этапах сборки проекта в TeamCity с помощью следующих команд: не забудьте переупорядочить этот элемент, чтобы запустить его до MSBuild .

SonarQube.Scanner.MSBuild.exe begin /k:"%sonar.project%" /d:"sonar.host.url=%sonar.host.url%" /d:"sonar.login=%sonar.login%" /d:"sonar.organization=%sonar.organization%" /v:"%build.number%"

Thisпревращает SonarQubeRunner в MSBuild.

Шаг 3:

Снова создайте шаг сборки командной строки с помощью следующей команды:

SonarQube.Scanner.MSBuild.exe end /d:"sonar.login=%sonar.login%"

Это будетотправьте анализ в SonarCube.

Обновление 1:

Как вы знаете, я использовал несколько параметров, таких как sonar.login и т. д., не забудьтечтобы добавить их в Параметры в TeamCity.

sonar.login => ваш логин

sonar.organization => организация

sonar.project => ваш проектв SonarQube

sonar.host.url => URL хоста SonarCube например: https://sonarcloud.io

0 голосов
/ 11 июня 2019

Чтобы проанализировать код C # от Jenkins, следуйте инструкциям в Анализ со сканером SonarQube для MSBuild Анализ со сканером SonarQube для Jenkins страница документации.

Вам необходимо использовать сканер SonarQube для MSBuild для анализа C #, потому что анализ выполняется как часть шага MSBuild, и только сканер SonarQube для MSBuild правильно подключается к шагу MSBuild - остальные версии сканера SonarQube don «т.

Пара других пунктов:

  • свойство sonar.organization имеет значение только в том случае, если вы используете SonarCloud; он не используется с SonarQube.
  • свойство sonar.language устарело со времени SonarQube 4.5 - не предоставляйте его.
  • не устанавливайте свойство sonar.sources при использовании сканера SonarQube для MSBuild. Сканер автоматически установит свойство на основе файлов, которые находятся в проектах MSBuild, которые собираются.

Недостатком сканера SonarQube для MSBuild, автоматически устанавливающего свойство sonar.sources, является то, что на все анализируемые файлы должен ссылаться проект MSBuild, т. Е. Все файлы XML, JavaScript, CSS и т. Д.

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

...