SonarQube社区版因sonar.branch.name属性报错的解决方法
解决SonarQube社区版在Azure DevOps流水线中
sonar.branch.name属性报错问题 问题背景
将Azure DevOps构建流水线里的SonarQube从开发者版降级到社区版后,执行「Run code Analysis」任务时触发报错:
使用“sonar.branch.name”属性分析分支需开发者版及以上。
无效尝试
测试了Sonar社区提供的PowerShell脚本,不仅没能解决报错,还导致单元测试超时失败。
最终可行方案
通过PSObject.Properties方法移除环境变量中的sonar.branch.name属性,成功恢复代码扫描功能。具体脚本如下:
# 清理SONARQUBE_SCANNER_PARAMS中的sonar.branch.name属性 $scannerParams = $env:SONARQUBE_SCANNER_PARAMS | ConvertFrom-Json $scannerParams = $scannerParams.PSObject.Properties | Where-Object { $_.Name -ne 'sonar.branch.name' } | Select-Object Name, Value | ConvertTo-Json $env:SONARQUBE_SCANNER_PARAMS = $scannerParams
原理说明
Azure DevOps的SonarQube任务会自动将当前分支信息注入到SONARQUBE_SCANNER_PARAMS环境变量中,但SonarQube社区版不支持分支分析功能,移除该属性后即可绕过版本校验,正常执行代码扫描。
内容的提问来源于stack exchange,提问作者alexis19apl
相关产品推荐
相关产品推荐

