声纳分析是根据集中定义的策略检查代码合规性的好方法。这就是为什么我想使用Blocker一个关键规则的配置文件来表示破坏的构建。
我正在使用Jenkins做构建并调用SonarRunnerBuilder来获取每晚项目构建的标准分析。
为了实现我概述的功能,最好是我可以运行分析,检查结果是否违规(最好不要将它们发送到Sonar服务器)并且如果有任何违规则无法构建。到目前为止,我还没有找到使用Google并查看SonarRunner源代码的方法。
我考虑过的是一种解决方法。我会实现Decorator收集违规,当装饰到达项目资源时,我会抛出RuntimeException来破坏分析。这反过来会使构建失败。
这会有用吗?有没有更好的方法来实现这个目标?答案 0 :(得分:1)
您正在寻找的似乎是build breaker plugin提供的内容。它依赖于质量门配置来检测当前分析中的违规(现在称为问题)何时需要破坏整个构建。
请考虑在SonarQube 5.2中不支持此插件。从技术上讲,SonarQube架构的深刻变化使得无法提供相同的功能。从哲学上讲,这个插件与SonarQube想要提供的体验不符。
尽管如此,未来版本的SonarQube很可能会提供涵盖相同用例的另一种解决方案,但尚未定义。