运行 SonarCloud 从 Visual Studio 手动分析

Run SonarCloud Analyze Manually From Visual Studio

我已经在 Sonarcloud 和 Gitlab CI 中支付了自动化费用,我使用 Visual Studio 和用于 C# 的集成 SonarLint。有时我想 运行 从 VS 手动分析,而不是每次都使用 Gitlab 运行ner。有没有办法绕过管道?原因是我有 运行 分钟的限制,我只想在从 SonarLint 清除代码警告时提交和 运行 管道。

声纳扫描仪

您可以使用 SonarScanner 在本地触发 SonarCloud 分析:

  1. SonarScanner for MSBuild 作为独立的可执行文件。
  2. .NET Core global Tool installed with NuGet,也称为可执行文件。
  3. 从命令行下载 SonarScanner CLI 二进制文件和 运行 它。

MSBuild 选项看起来像这样:

SonarScanner.MSBuild.exe begin /k:"project-key"
MSBuild.exe <path to solution.sln> /t:Rebuild
SonarScanner.MSBuild.exe end

.NET Core 全局工具如下所示:

dotnet tool install --global dotnet-sonarscanner
dotnet sonarscanner begin /k:"project-key"  /d:sonar.login="myAuthenticationToken"
dotnet build <path to solution.sln>
dotnet sonarscanner end /d:sonar.login="myAuthenticationToken"

因为您需要在构建前后调用 SonarScanner。您可以使用 Build Events. Add the commands to PreBuildEvent.bat and PostBuildEvent.bat to run the analysis automatically every time you build. If you don't want to run SonarScanner every time you build, create a new custom build configuration 在 Visual Studio 中集成 SonarScanner 命令(例如调试、发布、分析)。

You will need to generate a private token for your project key in SonarCloud. The final report will also be available in that project when it is ready.

SonarLint

如果不需要更新SonarCloud,只想查看代码分析结果,可以使用SonarLint Visual Studio extension. You can connect SonarLint with SonarCloud to download your common configuration using a feature called Connected Mode.

Connected mode does not push issues to the server. Rather, its purpose is to configure the IDE so that it uses the same settings as the server.

说明摘要(详见Connected Mode):

  1. 打开团队资源管理器主页选项卡并单击 SonarQube 图标
  2. 单击“连接...”以显示连接对话框
  3. Select 服务器并输入您的凭据
  4. Select 组织(仅限 SonarCloud)
  5. Select 要绑定的 Sonar 项目

SonarLint will then fetch the required settings from the server and create local configuration files

您的代码将被实时分析(在您键入时),或者您可以 运行 完整的代码分析如下:

  • 右键解决方案->分析->运行代码分析

您不能从 Visual Studio 执行此操作,但您可以像 powershell 脚本一样执行此操作。