ОШИБКА: проверка проекта не удалась. o Использовать свойство «sonar.branch.name» и проанализировать ветки.

Решение для этой темы

Команда, предоставленная SonarCommunity/Forum, не решила проблему, см. фрагмент ниже, но, изучив метод dotnet framework, которым мы управляем, поэтому в основном мы удаляем проблемное свойство из env: Variable, см. фрагмент решения ниже,

Решение, предложенное SonarCommunity (не сработало)


Функциональное решение с помощью метода dotnet PSObject.Properties

      $params = "$env:SONARQUBE_SCANNER_PARAMS.PSObject.Properties('sonar.branch.name')"
Write-Host "##vso[task.setvariable variable=SONARQUBE_SCANNER_PARAMS]$params"

Приведенный выше фрагмент позволил нам возобновить сканирование кода SonarQube, надеюсь, он вам всем тоже поможет!

Описание ошибки

  1. Это конвейер сборки Azure DevOps.

  2. В задаче SonarQube мы передаем следующие пары ключ-значение.{"project-key":"value","project-name":"value","project-version":"value"}

  3. В масштабе всей системы мы были понижены с SonarQube «Developer Edition» до «Community Edition», поскольку после этого мы столкнулись с ошибкой из названия этой угрозы, см. фрагмент ниже, и, что более важно, возникает сбой в задаче SonarQube «Выполнить анализ кода». "

    ##[ошибка]ОШИБКА: Не удалось выполнить проверку проекта: o Для использования свойства «sonar.branch.name» и анализа ветвей требуется Developer Edition или более поздняя версия. См. https://redirect.sonarsource.com/doc/branches.html для получения дополнительной информации.

Какие действия были опробованы

Исследования в Интернете нашли следующий сценарий PowerShell, но не так много информации о том, как его следует реализовать, см. фрагмент ниже, потому что он передается через переменную, передающую «командный вызов» для удаления использования «sonar.branch.name». ", но это должно быть выполнено задачей из того, что я знаю, работая с ADO:

      $params = "$env:SONARQUBE_SCANNER_PARAMS" -replace '"sonar.branch.name":"[\w,/,-]*"\,?'
Write-Host "##vso[task.setvariable variable=SONARQUBE_SCANNER_PARAMS]$params"

Когда я реализую эту задачу, все модульные тесты завершаются сбоем, поэтому задача модульного тестирования зависает до тех пор, пока ADO по тайм-ауту не закроет запуск конвейера.

Может быть, мне следует добавить эту задачу перед задачей «Подготовка конфигурации анализа», а затем передать переменную $param в раздел «Дополнительно» задачи «Подготовка конфигурации анализа»? см. скриншот ниже:

Любая помощь будет более чем желательна, на данный момент весь анализ кода остановлен и мы тянем за волосы, чтобы найти решение.

1 ответ

Решение для этой темы. Команда, предоставленная SonarCommunity/Forum, не решила проблему, см. фрагмент ниже, но, изучив метод dotnet framework, которым мы управляем, поэтому в основном мы удаляем проблемное свойство из env:Variable, см. фрагмент решения ниже,

Решение, предложенное SonarCommunity (не сработало)

      $params = "$env:SONARQUBE_SCANNER_PARAMS" -replace '"sonar.branch.name":"[\w,/,-]*"\,?'
Write-Host "##vso[task.setvariable variable=SONARQUBE_SCANNER_PARAMS]$params"

Функциональное решение с помощью метода dotnet PSObject.Properties

      $params = "$env:SONARQUBE_SCANNER_PARAMS.PSObject.Properties('sonar.branch.name')"
Write-Host "##vso[task.setvariable variable=SONARQUBE_SCANNER_PARAMS]$params"

Приведенный выше фрагмент позволил нам вернуть сканирование кода SonarQube, надеюсь, он поможет и вам всем!