SonarQube с новой функцией Branch терпит неудачу с «мера может быть установлена ​​только один раз для определенного компонента»? - PullRequest
0 голосов
/ 24 апреля 2018

Опробуйте новую функцию поддержки филиалов в SonarQube.

У меня возникла небольшая проблема, которую я не понимаю.

Я обновил наш экземпляр SonarQube до версии для разработчиков. В конфигурации веток для шаблона Long Living ветки я установил его (развернуть | мастер), так как мы используем стратегию ветвления GitFlow.

Из задания Дженкинса я выполнил следующее после обновления до версии для разработчиков, где я передаю ключ и имя проекта. Это работает нормально, и я получаю анализ для показанного проекта веб-сайта.

C:\Jenkins\sitecore\develop>SonarScanner.MSBuild.exe" begin /d:sonar.login=******** /k:NEON /n:Website /v:Build#3-SHA#a37bc8060e8d5a4264140784b1f93c9a4ca80b43 /d:sonar.host.url=http://codeanalysis.remoteiv.dk /d:sonar.cs.nunit.reportsPaths=C:\Jenkins\sitecore\develop\NUnitResult.xml /d:sonar.cs.opencover.reportsPaths=C:\Jenkins\sitecore\develop\OpenCoverResult.xml

Затем для последующих запусков Jenkins передает имя ветви объекта, используя свойство sonar.branch.name, как показано ниже.

C:\Jenkins\sitecore\feature-NEON-10-Setting-Up-Toll-Gate@2>SonarScanner.MSBuild.exe" begin /d:sonar.login=********** /k:NEON /n:Website /v:Build#5-SHA#2acea67103ab4b1223d80bf62d23999dd5369c29 /d:sonar.branch.name=feature-NEON-10-Setting-Up-Toll-Gate /d:sonar.host.url=http://codeanalysis.remoteiv.dk /d:sonar.cs.nunit.reportsPaths=C:\Jenkins\sitecore\feature-NEON-10-Setting-Up-Toll-Gate@2\NUnitResult.xml /d:sonar.cs.opencover.reportsPaths=C:\Jenkins\sitecore\feature-NEON-10-Setting-Up-Toll-Gate@2\OpenCoverResult.xml

Конечный шаг в Дженкинсе говорит, что он успешен.

INFO: Sensor C# Unit Test Results Import [csharp] (done) | time=30ms
INFO: Sensor Zero Coverage Sensor
INFO: Sensor Zero Coverage Sensor (done) | time=341ms
INFO: Sensor CPD Block Indexer
INFO: Sensor CPD Block Indexer (done) | time=1ms
INFO: Skipping CPD calculation for short living branch
INFO: Analysis report generated in 378ms, dir size=841 KB
INFO: Analysis reports compressed in 61ms, zip size=55 KB
INFO: Analysis report uploaded in 49ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://codeanalysis.remoteiv.dk/dashboard/index/NEON
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://codeanalysis.remoteiv.dk/api/ce/task?id=AWL3Sf5q5_IkahY6f6q6
INFO: Task total time: 1:02.311 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 1:04.661s
INFO: Final Memory: 23M/692M

Но анализ говорит, что на сервере произошел сбой, и в представлении ветвей на сервере гидролокатора нет ответвлений?

Ошибка:

{"task":{"id":"AWL3Sf5q5_IkahY6f6q6","type":"REPORT","componentId":"AWL3Mrk25_IkahY6f6qw","componentKey":"NEON","componentName":"Website","componentQualifier":"TRK","status":"FAILED","submittedAt":"2018-04-24T12:54:04+0200","submitterLogin":"jenkins","startedAt":"2018-04-24T12:54:05+0200","executedAt":"2018-04-24T12:54:15+0200","executionTimeMs":10155,"logs":false,"errorMessage":"a measure can be set only once for a specific Component (key=NEON:BRANCH:feature-NEON-10-Setting-Up-Toll-Gate), Metric (key=test_execution_time). Use update method (Visit failed for Component {key=NEON:BRANCH:feature-NEON-10-Setting-Up-Toll-Gate,type=PROJECT} )","hasScannerContext":true,"organization":"default-organization","branch":"feature-NEON-10-Setting-Up-Toll-Gate","branchType":"SHORT"}}

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 24 апреля 2018

Вы сталкиваетесь со следующей ошибкой, которая будет исправлена ​​в следующей версии SonarQube: SONAR-9384

Обнаружен временный обходной путь:

  1. Перейдите на страницу вашего проекта «Администрирование> Общие параметры»
  2. Поиск настройки sonar.cs.vstest.reportsPaths
  3. Укажите тупое значение, например foo

При этом анализатор не будет пытаться сохранить информацию о модульных тестах, поэтому это не даст сбой.Недостатком является то, что у вас не будет мер модульного тестирования - что IMO вполне приемлемо по сравнению с отсутствием анализа вообще.

...