Continuous integration 离线声纳分析,以发出损坏结构的信号

Continuous integration 离线声纳分析,以发出损坏结构的信号,continuous-integration,sonarqube,sonar-runner,Continuous Integration,Sonarqube,Sonar Runner,Sonar分析是一种根据集中定义的策略检查代码遵从性的好方法。这就是为什么我想用一个配置文件和一个关键规则来表示一个坏的构建 我正在使用Jenkins进行构建,并调用SonarRunnerBuilder来获得项目夜间构建的标准分析 为了实现我概述的功能,最好是运行分析,检查结果是否存在冲突(最好不要将其发送到Sonar服务器),如果存在任何冲突,则使构建失败。到目前为止,我还并没有找到使用Google和SonarRunner源代码来实现这一点的方法 我所考虑的是一个变通办法。我将实现一个收集冲突

Sonar分析是一种根据集中定义的策略检查代码遵从性的好方法。这就是为什么我想用一个配置文件和一个关键规则来表示一个坏的构建

我正在使用Jenkins进行构建,并调用SonarRunnerBuilder来获得项目夜间构建的标准分析

为了实现我概述的功能,最好是运行分析,检查结果是否存在冲突(最好不要将其发送到Sonar服务器),如果存在任何冲突,则使构建失败。到目前为止,我还并没有找到使用Google和SonarRunner源代码来实现这一点的方法

我所考虑的是一个变通办法。我将实现一个收集冲突的方法,当装饰到达项目资源时,我将抛出一个RuntimeException来破坏分析。这反过来会使构建失败


这样行吗?有没有更好的方法来实现这一点?

您所寻找的似乎就是它所提供的。它依赖于质量门配置来检测当前分析中的违规(现在称为问题)何时需要破坏整个构建

请考虑在SONARQUE 5.2中不支持这个插件。从技术上讲,SonarQube架构的深刻变化使其无法提供相同的功能。从理论上讲,这个插件与SonarQube想要提供的体验不匹配


尽管如此,SonarQube的未来版本很可能会提供另一个涵盖相同用例的解决方案,但这一点尚待确定。

因此,在我们从5.0升级到5.2之前,我仍然可以:*使用构建破坏器-破坏构建*选择不同的质量配置文件-过滤规则(只是拦截器和关键)*使用sonar.issuesReport.html-显示列表*在预览模式下运行分析-避免提交我想知道的结果-我的用例是否“符合SonarQube想要提供的体验”?当我无法选择其他配置文件时,如何筛选5.0之后运行的规则?哪些技术限制阻止构建断路器在5.2中工作?谢谢你的建议*几乎是引用某人的话:“是的,你可以”。*长话短说:在SonarSource想要提供的体验中,开发人员甚至不会首先提交问题。为了让您了解可能会发生的事情:许多工具将放在开发人员手中,以实现愿景。其中一个正在模拟项目的分析,包括它的提交,看看它是否会打破质量关。