【问题标题】:Unable to see the code coverage report after updating the sonarqube server from 6.7 LTS to 6.7.7 LTS将 sonarqube 服务器从 6.7 LTS 更新到 6.7.7 LTS 后看不到代码覆盖率报告
【发布时间】:2019-12-22 15:52:59
【问题描述】:

Sonarqube 服务器: 6.7.7 LTS(从 6.7 LTS 升级)

数据库: MySQL

环境: EC2, t2.large | Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-1088-aws x86_64)

项目运行分析: Java |弹簧靴


实际更新方式:

  1. 以传统方式升级服务器。下载声纳 设置好,粘贴到文件夹中。
  2. 停止旧版本,复制配置。从新文件夹启动服务器
  3. 一旦启动,sonarqube 将请求 DB 迁移,点击 OK,DB 迁移完成,sonarqube 将变为活动状态。

问题:

  • 更新后,我无法看到新运行的项目的代码覆盖率。
  • 这意味着我能够看到项目的代码覆盖率,并且我运行了 Jenkins 作业来更新代码覆盖率。现在,代码覆盖率显示为 0%。
  • 我可以在我的机器上本地看到代码覆盖率超过 50%。但不在 SonarQube 服务器上。

目前尝试的解决方案:

  • 我认为声纳属性设置不正确并进行了一些调整。 - 没有帮助

  • 我认为更改项目密钥可以解决问题 - 没有帮助

  • 我想在我的本地机器上设置 SonarQube 并运行分析 - 瞧,代码覆盖率已显示。

  • 为了再次确保,我运行了一个项目,该项目在 EC2 实例(我遇到问题的地方)上的代码覆盖率约为 30% - 代码覆盖率变为 0%。在我的本地机器上运行相同的作业,代码覆盖率显示为 30%


我无法找到导致此问题的根本原因,因为如果是数据库迁移问题,那么无论分析是在服务器更新之前还是之后完成的,所有项目都应该是 0%。

请赐教解决这个问题。


P.s:不要让我检查最新的 LTS 版本 7.9,因为它不支持 MySQL,仅支持 PostgreSQL 和 Oracle。

【问题讨论】:

  • 在日志文件中发现任何问题?您是否检查了 SonarQube 使用的覆盖文件的存在和内容?
  • 是的,我到处检查。日志中没有错误,并且 jacoco.exec 文件存在。如前所述,我确实使用本地服务器检查了相同的代码库并且它工作正常。

标签: spring-boot jenkins sonarqube code-coverage sonarqube-scan


【解决方案1】:

终于找到了解决办法。感谢活跃的声纳社区。 https://community.sonarsource.com/t/jacoco-code-coverage-is-shown-as-0-after-sonarqube-server-update/13570/2?u=vighnesh_pai

实际上,最新版本的 sonarqube 会默认安装 sonar-jacoco 插件。但是,这在 sonarqube 版本 6.7.x 中缺失。 (不知道为什么?)

我去市场搜索了 jacoco 插件,没有安装。我安装,重新启动服务器并运行作业。它就像魅力一样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 2019-01-29
    • 2019-09-12
    • 1970-01-01
    • 2016-12-15
    相关资源
    最近更新 更多