使用SonarCloud对.NET Core项目进行静态代码分析
本文將介紹如何使用SonarCloud進行.NET Core項目的靜態代碼分析。SonarCloud是SonarQube提供的基于云的版本,特別針對于開源項目是免費的。
? ? 首先,在sonarcloud.io創建一個賬號,你可以使用Github/BitBucket/Microsoft Live賬戶進行注冊,成功后將看到控制面板如下:
?
? ? 接下來你需要創建一個組織。
?
? ? 有了組織,就可以創建一個分析項目了。點擊“Analyse New Project”按鈕,根據向導填寫必要的信息,生成一個用于運行代碼分析的授權令牌,注意要安全地保存它。在下一步選擇目標語言,設置好項目的代號(Project Key),點擊完成后,SonarCloud會顯示 一系列使用MSBuild分析運行的步驟。
?
? ? 完成上述步驟后,你需要下載sonar scanner for MS Build,.NET Core的版本在這里。
? ? 此時我們需要準備一個.NET Core的應用。
首先使用"dotnet new mvc"命令創建一個ASP.NET Core MVC項目。
使用“dotnet new sln”創建sln文件。
使用“dotnet sln add HelloMVC.csproj”將MVC項目添加至sln文件。
? ? 使用“dotnet?"D:\sonar-scanner-msbuild-4.2.0.1214-netcoreapp2.0\SonarScanner.MSBuild.dll" begin /k:"HelloMVC" /d:sonar.organization="dotnetthoughts" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="73fd8bc705804e8688b797f0e70dc6d70aa2d9c3"啟動scanner。
? ? 如果一切正常,你將看到如下的運行界面:
?
? ? 使用“dotnet build”構建應用時,能看到如下警告信息:
?
? ? 在最后運行“dotnet?"D:\sonar-scanner-msbuild-4.2.0.1214-netcoreapp2.0\SonarScanner.MSBuild.dll" end /d:sonar.login="73fd8bc705804e8688b797f0e70dc6d70aa2d9c3"(注意命令中的end,和前一個命令中的begin相對應),結束代碼掃描執行,并將分析結果上傳到SonarCloud。再次打開SonarCloud的控制面板,點擊前面創建好的項目,就能看到如下的分析結果。
?
?
? ? 如果你注意到有15個bug這樣的顯示,查看明細發現幾乎都是JavaScript庫的問題,比如Bootstrap或者JQuery,理想狀態下我們是不需要分析這些腳本庫的,因此我們可以這樣執行SonarQube,以過濾掉不需要的文件:“dotnet?"D:\sonar-scanner-msbuild-4.2.0.1214-netcoreapp2.0\SonarScanner.MSBuild.dll" begin /k:"HelloMVC" /d:sonar.organization="dotnetthoughts" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="73fd8bc705804e8688b797f0e70dc6d70aa2d9c3" /d:sonar.exclusions="/wwwroot/lib/**"。
? ? 再次使用“dotnet build”重新構建項目并完成掃描,項目控制面板會更新成如下所示:
?
? ? 是不是很輕松?老板再也不用噴我不管代碼質量了。 :)
?
(原文:Static Code Analysis of .NET Core Projects with SonarCloud)
原文地址: http://www.cnblogs.com/BeanHsiang/p/8998461.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的使用SonarCloud对.NET Core项目进行静态代码分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么 web 开发人员需要迁移到. N
- 下一篇: Build 2018,给你带来全新的开发