如何解决仅使用声纳云为 dotnet 项目分析新的\更新的代码
我们为 C# .Net 代码设置了拉取请求分析。观察到旧代码(未修改)正在考虑用于分析,这是意料之外的,这阻碍了我们使用质量门。
新的代码条件是根据设置为 1 的“天数”条件设置的。
即便如此,PR/短分支分析报告了旧代码中存在的问题(未作为拉取请求的一部分进行更新/编辑),由于这个问题,我们无法启用质量门。
azure devops 管道中使用了以下任务:
- 准备声纳云分析
- 运行代码分析
- 发布质量关口结果
- 使用的 ALM:Azure DevOps CI 系统中的 Git 使用了 Azure DevOps
- 存储库的语言:C# .Net
解决方法
这是一个示例 SonarQube 管道配置,它在每次合并到主分支时执行。
步骤:
- Node 是为构建目的而安装的
- 启动准备分析,下载扫描、配置和规则集所需的内容
- Nugget 包管理器已安装
- 已启动 Nugget 恢复
- 解决方案已构建(重要步骤)
- 代码分析正在检查先前构建的解决方案中包含的每个 .cs 文件
- 严格的质量门是扫描结果
- 自定义构建步骤,如果质量门失败,则会中断管道
这可能很明显,但请确保您在对 SonarQube 进行准备分析和运行代码分析之间构建 C# 解决方案,以便提供 SonarQube 将分析的更新代码。
“从 SonarQube 获取结果”步骤是一个 powershell 脚本,它调用 SonarQube API 以获取启动扫描的质量门结果,以便在发现问题时失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。