【问题标题】:Creating views of sonar analysis that cuts across multiple modules/packages?创建跨越多个模块/包的声纳分析视图?
【发布时间】:2014-04-04 00:14:07
【问题描述】:

我有一个 jenkins 构建,可以在我的代码库上运行声纳分析,这是一个多模块 maven 项目。声纳结果允许我通过从整个项目深入到模块,然后是这些模块中的包,然后是这些包中的类来查看覆盖范围和问题。

有没有办法创建跨越项目不同方面的声纳分析的不同视图,例如“显示模块 M1 中的包 A、B、C 和模块 M2 中的包 X、Y、Z 的结果”?

所有这些信息(我假设)都存储在项目的数据库中。可能有一个插件已经这样做了,或者我可能需要编写一个自己的插件来查询数据库。

【问题讨论】:

    标签: code-coverage sonarqube


    【解决方案1】:

    我相信 Views 插件应该可以满足您的需求:http://www.sonarsource.com/products/plugins/governance/portfolio-management/

    如果你想要一个如何使用它的例子,这里是我博客上的一篇文章:http://qualilogy.com/en/your-own-quality-model/。 不是最近的,但你会明白的。

    问候。

    【讨论】:

    • 感谢您的评论。我快速浏览了 Views,它似乎是基于项目创建视图,而不是基于单个项目的组件(尽管我在这里可能错了)。它也是一个商业插件,我还没有预算可以玩:-(
    • 我不相信你能够在没有定义和分析的情况下获得任何实体的视图,因为度量的计算是在分析过程中完成的。换句话说,您不能分析一个独特的项目,然后在不专门分析该子集的情况下获取该项目的任何子集的数据。
    • 有趣。一种可能性是创建另一个项目来签出相同的源代码,但将分析限制在一小部分包含内容(例如一组包),但我不确定这是否可行(声纳使用 maven 项目ID 的名称,如果同一个 maven 项目被多个声纳项目分析,那么同一个 ID 将被多次使用)。或者也许可以直接查询数据库(在声纳之外)以提供此信息?
    • 有一个允许从数据库中检索数据的网络服务(不建议直接查询,因为数据库结构可以发展)。但是,您必须开发复杂的查询,即使是简单的子集。
    • 您还可以声明由不同模块组成的单个项目,在您的情况下,这将是您最基本的子集。我不知道 Views 插件是否允许聚合模块,这是我想记录下来以备将来在我的博客上发布的内容。现在,如果它有效,您可以拥有您喜欢的任何子集组合,并通过单一分析对其进行分析。我知道 Views 插件不是免费的,但您可以测试一段时间,看看它是否对您的用户/公司/利益相关者/等有价值。 ,那么他们可能会允许您对其进行投资。
    猜你喜欢
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 2013-07-26
    相关资源
    最近更新 更多