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

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

Sonar配置gitlab github sonar_代码质量


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

Sonar配置gitlab github sonar_代码质量_02


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

Sonar配置gitlab github sonar_代码质量工具_03


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

Sonar配置gitlab github sonar_c#_04


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

Sonar配置gitlab github sonar_代码质量工具_05


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

Sonar配置gitlab github sonar_Sonar配置gitlab_06


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

Sonar配置gitlab github sonar_c#_07


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

Sonar配置gitlab github sonar_Sonar配置gitlab_08

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

Sonar配置gitlab github sonar_代码质量_09


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

Sonar配置gitlab github sonar_代码质量工具_10

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

Sonar配置gitlab github sonar_Sonar配置gitlab_11


我试验项目检测出来的5个Bug,看下来居然没一个是Bug,只是单元测试这块,因为我项目根本没写,所以覆盖率Coverage是0……2022-03-11Coverage终于也补上了,不过是另一个项目

Sonar配置gitlab github sonar_Sonar配置gitlab_12