【问题标题】:Jenkins +Sonar +ANT+Cactus +hangs at clean snapshotJenkins +Sonar +ANT+Cactus +挂在干净的快照上
【发布时间】:2014-10-23 20:56:00
【问题描述】:

我在通过 Jenkins 运行声纳分析时遇到问题。使用带有“Invoke Standalone Sonar Analysis”的 Post Step 来启动 Sonar Runner 任务。我可以在仪表板中看到分析结果,但 Jenkins 中的构建永远不会结束。 Sonar 中的清理任务似乎挂起。我正在使用 H2 数据库,无法更改为其他数据库。

Jenkins 安装在 Linux 机器上,Sonar 版本是 3.7.4

如何解决干净的快照挂起部分?

【问题讨论】:

    标签: ant jenkins sonarqube cactus


    【解决方案1】:

    生产环境不支持 H2 数据库(但您似乎知道这一事实)。此外,它会阻止您升级到最新版本的 SonarQube,因为 H2 也不支持数据库迁移。

    话虽如此,如果丢失您的项目历史并不重要,您可以尝试切换到最近的 SQ 服务器和运行程序(在撰写本文时分别为 4.4 和 2.4),因为自那以后有很多改进和错误修复去年。

    【讨论】:

    • 非常感谢您的建议。它会解决挂起部分“干净的快照”吗?当我调试它时,它显示一些信号量值正在更新 - 提交 JDBC 连接 [jdbc:h2:tcp://localhost/sonar, UserName=SONAR, H2 JDBC Driver] 12:36:00.708 调试 - 在 JDBC 连接上将自动提交重置为 true [jdbc:h2:tcp://localhost/sonar, UserName=SONAR, H2 JDBC Driver] 12:36:00.708 调试 - 关闭 JDBC 连接 [jdbc:h2:tcp://localhost/sonar, UserName=SONAR, H2 JDBC司机]
    • 嗨 Mithfindel,我能够通过声纳 4.4 并使用它工作。谢谢我正在从 Jenkins 调用 SonarQube 分析并能够获得单元测试成功百分比,但看不到单元测试覆盖率???谁能帮助在 Sonar 仪表板中获取此信息?从 Jenkins 调用时我应该添加什么参数?请告知 Windows 和 Linux 机器?
    • 使用 docs.codehaus.org/display/SONAR/JaCoCo+Plugineclemma.org/jacoco/trunk/doc/ant.html 的组合应该可以让您启动并运行(使用 Ant 生成 jacoco.exec,然后导入到 SQ)
    • 执行?我正在使用 linux server..how to do that then as exec file is not allowed
    • 执行,而不是 exe。这是 Jacoco 的结果文件。
    【解决方案2】:

    如声纳文档所述,不建议将 H2 用于生产。但是如果您不了解声纳分析的历史,您可以执行以下操作(继续使用 H2):

    在 Linux 中:

    1. 停止声纳:服务声纳停止
    2. 删除 /opt/sonar/data 下的 sonar*.db
    3. 再次启动声纳:服务声纳启动
    4. 然后再次运行分析。

    应该可以了,祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 2021-12-14
      相关资源
      最近更新 更多