SonarSource简介
治理产品为 gear-up SonarQube 提供了从团队级部署到企业广泛部署 SonarSource 解决方案的功能。它是组织和管理大型项目组合的基石, 其质量模型基于4关键指标: 性、可维护性、可靠性和安全性。
组织大量的应用程序
治理产品提供了组织和构建大型应用程序组合的能力。这是通过定义树来完成的, 其中
代理商sonarqube安装配置
SonarSource简介
治理产品为 gear-up SonarQube 提供了从团队级部署到企业广泛部署 SonarSource 解决方案的功能。它是组织和管理大型项目组合的基石, 其质量模型基于4关键指标: 性、可维护性、可靠性和安全性。
组织大量的应用程序
治理产品提供了组织和构建大型应用程序组合的能力。这是通过定义树来完成的, 其中节点是项目组和项目的叶子。例如, 可以按应用程序、按团队的应用程序、按部门分组等对项目进行分类。
治理
树的数量没有限制, 树木的深度也没有限制。
评估总体健康状况
治理产品为应用程序组合提供了几个健康因素, 包括可维护性, 又称技术债务, 它代表了应用程序或应用程序组的未来维护成本, 以及性, 它代表了应用程序或应用程序组准备装运到生产的情况。
突出风险领域
治理产品作为散热器, 在应用程序组合中突出显示风险区域。这包括操作风险, 即不同于运行时的预期行为以及安全漏洞风险的应用程序, 即可用于其他目的的应用程序, 而不是它们的设计用途。
治理PDF 文件导出 PDF 报表
治理产品增加了将执行仪表板作为 pdf 导出的能力, 以便能够在 web 应用程序之外共享一个投资组合。还可以安排将 PDF 报告定期发送到预定义的收件人列表, 从而在任何级别的投资组合中进行。查看示例项目转移转移项目历史记录
在大型组织中, 为不同部门、业务线运行多个 SonarQube 的实例非常常见, 但也有历史原因。这似乎是一个不错的方法,有两个原因:它减少了在遗留的基本代码上开始的摩擦力,因为你可以假装你是从一个干净的石板开始。如果是这种情况, 则需要能够在保留项目历史记录的同时将项目从实例转移到另一项。治理产品提供了这种功能。通过扩展, 此功能允许合并 SonarQube 的两个实例。
债务模型控制调整分析模型
每个代码分析器都包含每个规则的预定义补救成本。这些费用在发现问题时适用, 允许计算技术债务补救费用。尽管这些补救费用已在几百万行代码上进行了调整, 并且可以按目前的情况使用, 但可能需要对它们进行调整, 以反映环境中的某些具体情况。
关于SonarSource连续检查
我们 SonarSource 的创始人, 非常熟悉传统模式的缺点,在其范围内工作多年。如往常一样,使用子项目的关联属性组中的SYSLIB字段来解析包含文件引用。但随着持续集成的兴起, 我们设想了一个不同的模式是可能的。正如不断整合的变化多个开发人员防止集成头疼, 我们意识到不断应用质量门标准防止准时审计模型的问题。连续检测是代码质量管理的新范式, 旨在使内部软件质量是软件开发生命周期的一个组成部分。这是一个整体的, 完全实现提高项目内部软件质量和软件可视性的过程所有利益相关者的质量。连续的检查提供连续代码质量管理, 并且大大提高了开发项目的 ROI。连续检测的关键概念是发现early–when 修复它们的问题仍然是便宜和容易的。在这个模型下, 自动代码审核是每天执行并在组织内提供。这些客观、自动化的审计沿多个可维护性轴分析项目代码, 测试 bug, 并将其与团队进行比较编码标准。审核是通过工具来完成的, 它们直接在开发人员的环境, 很像微软 Word 中的拼写检查器。新的团队成员将尽快收到通知问题被发现, 所以他们可以尽快解决 possible–while 的代码仍然是新鲜的开发人员的想法。及时的这些警报有额外的好处, 培训程序员的坏习惯, 并引导他们到好的。持续的检查在开发团队中得到了基层的采纳, 因为它的协作自然导致真正的集体代码所有权, 并帮助团队提供更好的软件。与它的小,的问题识别和处理周期, 它已被证明增加开发团队效率, 通过促进高质量代码的开发来提高应用程序的使用寿命。持续检查的重要方面可以归纳为十原则。


SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考POM的相关部分:
<建立> <插件>
...
<插件>
<的groupId> org.apache.maven.plugins 的groupId>
行家-万无一失-插件 artifactId的>
<版本> 2.13 版本>
<结构>
-XX:-UseSplitVerifier argLine>
<包含>
<包括> ** / * Test.java 包括>
<包括> ** / * Tests.java 包括>
包括>
<排除>
<排除> ** /它/ * IT.java 排除>
排除>
配置>
插件>
插件> 建造>
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或TopLink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。随着持续的检查,发现质量缺陷-和纠正--在开发过程的早期,影响很小而且易于管理。我们只想注意到,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。SonarSource的产品组合使对软件变更领域的反馈和影响分析,并提供反馈,说明如何改进开发方法。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
<轮廓>
<! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
覆盖每次测试 ID>
<建立>
<! - 与常规测试执行目标相同的配置 - >
由JaCoCo