2

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

4

2 回答 2

2

声纳扫描仪

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

  1. SonarScanner for MSBuild作为独立的可执行文件。
  2. 与NuGet一起安装的.NET Core 全局工具,也称为可执行文件。
  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 命令。每次构建时添加命令并自动运行分析。如果您不想每次构建时都运行 SonarScanner,请创建一个新的自定义构建配置 (例如 Debug、Release、Analyze)。PreBuildEvent.batPostBuildEvent.bat

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

声纳

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

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

说明摘要(有关详细信息,请参阅连接模式):

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

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

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

  • 右键解决方案->分析->运行代码分析
于 2021-02-27T04:36:46.347 回答
-3

您无法从 Visual Studio 执行此操作,但您可以将其设为 powershell 脚本。

于 2021-03-14T15:04:40.493 回答