【问题标题】:Does continuous inspection still work with Sonar 5.1.X?Sonar 5.1.X 是否仍然可以进行持续检查?
【发布时间】:2015-09-12 01:04:37
【问题描述】:

我正在尝试使用 SonarQube 5.1.1 为我们的 (Java) 项目运行预览分析。我能够生成本地报告,但是我没有得到覆盖数据,而且我还收到了消息[INFO] [XX:YY:ZZ.ZZZ] Build Breaker plugin is no more supported in preview/incremental mode

如果我检查here,页面会显示Starting with SonarQube 5.1, the Build Breaker plugin does not work any longer in the preview & incremental modes.

我很困惑 - 我认为对于持续检查需要构建断路器插件。现在不是这样了吗? SonarQube 中的概念是否发生了变化?

为什么我在运行预览分析时没有获得覆盖率数据?

【问题讨论】:

    标签: sonarqube sonarqube5.1


    【解决方案1】:

    我不知道你在哪里读过这篇文章,但持续检查与预览/增量模式和构建中断插件无关——它甚至与 SonarQube 无关(尽管它一直是 pushed by SonarSource从一开始)。

    以下是重点:

    • 持续检查是指尽可能频繁地分析您的代码,以便监控(并最终提高)代码的质量。不管是什么工具。
    • 在 SonarQube 上,这意味着运行分析,将信息推送到服务器上,以便您可以监控正在发生的事情并为您的应用程序组合采取所需的操作。

    显然,当您是一名开发人员时,您希望尽早管理这些问题,甚至在它们被推送到源代码存储库之前。但是经验告诉我们,由于问题而阻止任何代码推送是一种糟糕的模式——因为有些问题可能是误报或与上下文无关(但你仍然想要——并且有权推送你的代码)。这就是为什么我们觉得构建中断插件与这一切不一致,在即将发布的 SQ 版本中,它将被更符合这些概念的原生功能所取代:

    • 非常有效的代码分析,可以在 IDE 中以光速显示问题 - 但无需计算指标
    • 预览模式将计算所有内容并可以在将代码推送到源代码存储库之前检查质量门 - 而不会影响服务器上的结果
      • 在这种情况下,使用日志中的某些特定信息,CI 可能会导致构建失败

    【讨论】:

    • 很高兴有一天,预览模式将能够检查质量门。顺便说一句,现在我们正处于等待即将推出的版本(什么时候准备好?)或回到 SonarQube 5.0 之间,对吧?
    • SonarQube 的内置 Build Breaker 插件已在 5.1 版本中停用。这是使用 SonarQube REST API 实现相同目的的解决方法。 bitbucket.org/atlassian/sonarqube-build-breaker
    • 您好,Fabrice,感谢您提供的信息。我认为值得在帮助文档中添加构建断路器插件页面的链接,因为人们在看到此插件已弃用时可能会有类似的困惑。在我看来,构建破坏者对于以流程为中心的大型组织很重要。例如,在我的组织中,如果在增量扫描中发现拦截器问题(我们定义了一个永远不应该被破坏的最小质量门),我们依赖构建器破坏器来阻止代码提交。您认为我们的案例仍然有效,还是 SonarQube 对用法有不同的看法?
    • @Skywolf 该用例完全有效,在 SonarQube 5.3 中,我们开发了 WS 以便能够自行编写构建中断策略。我们目前正在记录这一点,它将在 1 月份的 SQ 5.3 版本中提供。请随时在此处再次 ping 我,以便我更新帖子!
    • 谢谢法布里斯!在新机制得到验证之前,我们将使用 SonarQube 4.x。非常感谢您的团队制作了如此出色的工具/平台!
    猜你喜欢
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 2017-09-10
    • 2013-12-31
    • 2017-01-08
    • 1970-01-01
    • 2016-04-18
    相关资源
    最近更新 更多