ОШИБКА: проверка проекта не удалась. 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, надеюсь, он вам всем тоже поможет!
Описание ошибки
Это конвейер сборки Azure DevOps.
В задаче SonarQube мы передаем следующие пары ключ-значение.
{"project-key":"value","project-name":"value","project-version":"value"}
В масштабе всей системы мы были понижены с 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, надеюсь, он поможет и вам всем!