【发布时间】: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 |弹簧靴
实际更新方式:
- 以传统方式升级服务器。下载声纳 设置好,粘贴到文件夹中。
- 停止旧版本,复制配置。从新文件夹启动服务器
- 一旦启动,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