数据库中的声纳库存储结果花费的时间太长

sonarqube store results in database takes way too long

SonarQube 需要很长时间,大约需要 40 到 50 分钟才能将声纳结果传输到 sonarqube mySQL 数据库。

Jenkins 日志:

06:44:33.974 INFO  - Execute decorators...
06:47:01.532 INFO  - Store results in database
07:26:44.253 INFO  - ANALYSIS SUCCESSFUL, you can browse https://....

build.gradle :

plugins {
    id "org.sonarqube" version "2.0.1"
}

gradle.properties:

systemProp.sonar.host.url=https://myhost/prod
systemProp.sonar.jdbc.url=jdbc:mysql://myhost:port/sonar_prod?useUnicode=true&characterEncoding=utf8
systemProp.sonar.jdbc.driver=com.mysql.jdbc.Driver
systemProp.sonar.jdbc.username=user
systemProp.sonar.jdbc.password= somepassword

这可能是什么问题?

此处信息太少,无法诊断您的问题。但是,有很多建议可以解决:升级您的 SonarQube 版本。

5.6 是新的 LTS,除此之外,它删除了扫描器和数据库之间的所有直接通信。事实上,您在分析中仍然有这一步,这告诉我您使用的是相当旧的版本,可以升级。

找到解决方案,问题出在我的 jdbc 配置上。改变它就成功了。

sonar.jdbc.url=jdbc:mysql://myHost:port/sonar_prod?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&connectTimeout=0&socketTimeout=0&autoReconnect=true 

sonar.jdbc.url=jdbc:mysql://myHost:port/sonar_prod?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&connectTimeout=0&socketTimeout=0&autoReconnect=true 

这个选项对我有帮助