GitHub Actions .NET 5环境下SonarScanner for .NET运行报错咨询
问题原因
你当前的配置未指定SonarCloud服务地址,SonarScanner默认会请求本地部署的SonarQube服务(默认地址localhost:9000),而GitHub Actions运行环境中没有启动本地SonarQube服务,因此触发连接拒绝报错。
解决方案
修改工作流中Begin Sonar scan步骤的参数,补充SonarCloud必填配置:
- 明确指定SonarCloud服务地址
sonar.host.url=https://sonarcloud.io - 补充你的SonarCloud组织标识参数
/o:<你的SonarCloud组织名>(该参数可在SonarCloud项目创建引导页获取) - 补充覆盖率报告路径参数,让SonarCloud自动识别你的单元测试覆盖率结果
修正后的对应步骤配置如下:
- name: Begin Sonar scan run: dotnet sonarscanner begin /k:"MySonarProject" /o:"<替换为你的SonarCloud组织名>" /d:sonar.login=${{ secrets.SONAR_TOKEN }} /d:sonar.host.url=https://sonarcloud.io /d:sonar.cs.opencover.reportsPaths="**/coverage.opencover.xml"
校验项
- 确认GitHub仓库Secrets中存储的
SONAR_TOKEN是从SonarCloud平台生成的有效令牌,而非本地SonarQube生成的令牌 - 确认SonarCloud中已创建对应
/k:参数指定的项目,且当前令牌具备该项目的上传权限
关于使用方式的说明
你当前采用的dotnet-sonarscanner全局工具的使用方式完全可以在GitHub Actions中正常运行,是Sonar官方推荐的.NET项目扫描方案,在ubuntu-latest、windows-latest、macos-latest环境均兼容。
内容的提问来源于stack exchange,提问作者ngruson
相关产品推荐
相关产品推荐

