SonarQube不支持并行执行 - 如何在连续管道中使用

时间:2016-02-24 21:29:36

标签: sonarqube

SonarQube不支持并行执行,因为并行执行失败:

Caused by: org.sonar.api.utils.SonarException: The project is already been analysing

我正在使用SonarQube v4.3.3进行代码检查。

现在我的哈德森工作正在并行运行,由于这个限制,我无法在我的哈德森工作中添加声纳分析。

请建议如何使用SonarQube在连续管道中使用带有哈德森的SonarQube。

1 个答案:

答案 0 :(得分:2)

SonarQube 4.x确实支持不同项目的并行分析,但不支持同一项目的并行分析。这是一种技术约束,可以在将分析持久保存到共享数据库时避免冲突。

SonarQube 5.2引入了一项重大架构变更。分析器(由您的Hudson作业启动)不再与数据库连接。它们生成并向服务器发送仅包含原始数据的报告,基本上包含源和问题。措施的计算,质量门的验证和持久性是在服务器上异步完成的。在您的情况下,即使在同一个项目中,分析器也可以并行执行,但是他们无法直接验证质量门。为此,您应该在Web服务上实现一种侦听器,以便在处理报表时获取门控状态。有关详细信息,请参阅http://docs.sonarqube.org/display/SONAR/Breaking+the+CI+Build。另请注意,构建断路器插件的第2版直接在分析器中实现此解决方案(请参阅https://github.com/SonarQubeCommunity/sonar-build-breaker