php - 多团队单体应用程序开发中的 SonarQube 用例
问题描述
我们正在开发一个单体应用程序。开发由多个后端团队完成。我们的应用程序不是紧密耦合的,通常你可以说,每个团队负责它自己的一组 Symfony 包(例如,文件夹内的顶级目录src
)。
我们现在正在尝试使用 SonarQube 进行静态分析和整体代码质量控制,但我无法找到让每个开发团队在 GUI 中仅查看其自己应用程序部分的统计数据的好方法。
有一个项目视图 ( Projects -> [project] -> Code
) 但它只是一个无法使用的简单文件和问题列表。总共大约有 2000 行,这真的难以管理。
SonarQube 的文档说,子项目已从中删除,除此之外,我只是找不到使其对我们可用的方法。
我们的每个团队是否有办法查看自己的一组案例并仅监控自己的应用程序部分的质量?
解决方案
对于您的情况,SonarQube 中没有开箱即用的东西,但您可以为此应用一些解决方法。
在 SonarQube 中为每个团队创建新项目,并传递他们不感兴趣的子项目,例如:
/k:"ApplicationName_Team1"
/n:"ApplicationName :: Team1"
/v:"12345"
/d:sonar.coverage.exclusions=**\PathsToRemove\**
/d:sonar.cpd.exclusions=**\PathsToRemove\**
/d:sonar.exclusions=**\PathsToRemove\**
这样您就可以只分析代码的子集。为其他团队创建类似的配置。
推荐阅读
- java - 在 Springboot 中添加 @EnableWebMvc 会将日期输出从字符串更改为数组
- laravel-5.5 - 邮件发送失败且没有错误
- javascript - 结帐页面上的 BigCommerce 自定义 javascript 不起作用
- javascript - 无法获取按钮的 onclick 属性来调用 JS 函数
- c - 以相反的顺序打印数组指针值
- mysql - MySQL 回馈许多值
- javascript - 桌面应用程序加密与具有客户端加密的 Web 应用程序
- node.js - TypeORM实体继承ManyToOne关系
- pc-lint - uint8_t、uint16_t 和 uint32_t 在 PCLint 中无法识别
- go - 在 Golang 应用程序中如何正确使用 UUID4?