微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Visual Studio 手动运行 SonarCloud 分析 声纳扫描仪SonarLint

如何解决从 Visual Studio 手动运行 SonarCloud 分析 声纳扫描仪SonarLint

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

解决方法

声纳扫描仪

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

  1. SonarScanner for MSBuild 作为独立的可执行文件。
  2. .NET Core global ToolNuGet 一起安装,也称为可执行文件。
  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在 Visual Studio 中集成 SonarScanner 命令。将命令添加到 PreBuildEvent.batPostBuildEvent.bat 以在每次构建时自动运行分析。如果您不想在每次构建时都运行 SonarScanner,请create a new custom build configuration(例如调试、发布、分析)。

您需要在 SonarCloud 中为您的项目密钥生成一个私有令牌。最终报告也将在该项目准备就绪后提供。

SonarLint

如果不需要更新SonarCloud,只想查看代码分析结果,可以使用SonarLint Visual Studio extension。您可以使用名为 Connected Mode 的功能将 SonarLint 与 SonarCloud 连接以下载您的常用配置。

连接模式不会将问题推送到服务器。相反,它的目的是配置 IDE,使其使用与服务器相同的设置。

说明摘要(有关详细信息,请参阅 Connected Mode):

  1. 打开 Team Explorer 主页选项卡,然后单击 SonarQube 图标
  2. 点击连接...显示连接对话框
  3. 选择服务器并输入您的凭据
  4. 选择组织(仅限 SonarCloud)
  5. 选择要绑定到的 Sonar 项目

SonarLint 然后将从服务器获取所需的设置并创建本地配置文件

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

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

您不能从 Visual Studio 执行此操作,但您可以将其设置为类似于 powershell 脚本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。