.Net项目github接入sonarcloud

Posted 娃都会打酱油了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net项目github接入sonarcloud相关的知识,希望对你有一定的参考价值。

代码质量方面的检测工具,在这之前从来没用过,就算前阵子听说了sonarcloud,也仅当知道记录了下,结果昨天被某些事情刺激了下,于是去查了下资料,然后就顺便在github上做了下测试,这里做个记录。

sonarcloud的官网地址是https://sonarcloud.io,打开后点击Log in,在打开的界面中选择With GitHub进行登录

授权后,按界面一路点击下去,在导入完账号组织信息后,就可以选择你要对哪些项目做QA,如果不花钱只能选择开源项目,选完后就会出来配置以下界面

然后你就可以点击一个项目进行相应的配置,因为Travis CI没玩过,所以这里还是选GitHub Actions

然后就是按步骤一步步做下去

先是在github对应项目上配置SONAR_TOKEN

然后再第二步中选择.NET选项

刚开始看到安装JDK还楞了下,后来仔细看了下完整的脚本指令,发现有个dotnet tool指令,确认应该是没搞错,接下来就是到github上去配置Actions

在打开的界面调整下文件名,然后再将sonarcloud上的脚本指令完整的复制过来,注意<insert_your_clean_build_command>这段是要调整为实际的执行脚本,在这里就是dotnet build,中间也算是弄了一点小插曲,一开始是报了虚拟服务器latest的windows版本是2022,按相应的描述链接,调整了runs-on: windows-2019,然后因为我项目的sln文件不在项目的根目录下,所以dotnet相关的指令还需要指定sln文件地址,具体的dotnet指令可以看这里,默认是每次提交都会执行Action

最终脚本通过之后,就可以在sonarcloud上看到具体的代码质量信息

这个界面上只能看问题的汇总信息,这些图标是无法点击跳转的,需要点击进项目之后,点击Main Branch之后,相应的数字才能够点击跳转

接下来就是有BugBugCode Smells就类似于VS里的warning信息,可看情况进行修复,不过实际会发现有些检测结果代码是正确的,但sonarcloud提示有误,这时候你可以在相应的问题上调整相应的解决标志

我试验项目检测出来的5个Bug,看下来居然没一个是Bug,只是单元测试这块,因为我项目根本没写,所以覆盖率Coverage是0……

2022-03-11Coverage终于也补上了,不过是另一个项目

最后是链接地址汇总:
sonarcloud官网:https://sonarcloud.io
dotnet指令:https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-build
sonarQube配置:https://blog.csdn.net/qq_28911061/article/details/105618801
测试覆盖率:https://blog.51cto.com/u_15060508/4402217

以上是关于.Net项目github接入sonarcloud的主要内容,如果未能解决你的问题,请参考以下文章

.Net项目github接入sonarcloud

未从 Azure Devops .NET 核心构建获得 SonarCloud 中的代码覆盖率

SonarCloud 代码覆盖率在 GitHub Actions 构建中保持为 0.0

Sonarcloud 对 Github 存储库的审查失败

已有MVC项目(非Net Core)如何快速接入Cas单点登录

将 sonarcloud 与松弛通道集成