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

仅使用声纳云为 dotnet 项目分析新的\更新的代码

如何解决仅使用声纳云为 dotnet 项目分析新的\更新的代码

我们为 C# .Net 代码设置了拉取请求分析。观察到旧代码(未修改)正在考虑用于分析,这是意料之外的,这阻碍了我们使用质量门。

新的代码条件是根据设置为 1 的“天数”条件设置的。

即便如此,PR/短分支分析报告了旧代码中存在的问题(未作为拉取请求的一部分进行更新/编辑),由于这个问题,我们无法启用质量门。

azure devops 管道中使用了以下任务:

  • 准备声纳云分析
  • 运行代码分析
  • 发布质量关口结果
  • 使用的 ALM:Azure DevOps CI 系统中的 Git 使用了 Azure DevOps
  • 存储库的语言:C# .Net

解决方法

这是一个示例 SonarQube 管道配置,它在每次合并到主分支时执行。

Example pipeline steps

步骤:

  1. Node 是为构建目的而安装的
  2. 启动准备分析,下载扫描、配置和规则集所需的内容
  3. Nugget 包管理器已安装
  4. 已启动 Nugget 恢复
  5. 解决方案已构建(重要步骤)
  6. 代码分析正在检查先前构建的解决方案中包含的每个 .cs 文件
  7. 严格的质量门是扫描结果
  8. 自定义构建步骤,如果质量门失败,则会中断管道

这可能很明显,但请确保您在对 SonarQube 进行准备分析和运行代码分析之间构建 C# 解决方案,以便提供 SonarQube 将分析的更新代码。

“从 SonarQube 获取结果”步骤是一个 powershell 脚本,它调用 SonarQube API 以获取启动扫描的质量门结果,以便在发现问题时失败。

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