【发布时间】:2017-05-23 22:05:19
【问题描述】:
我尝试将构建作业从 Hudson 迁移到 Jenkins(版本 2.32.1)。 Maven 构建工作正常,但 SonarQube 的 Maven 构建步骤不起作用。我使用 Jenkins SonarQube 插件 2.5 版。
我的 SonarQube 配置(遵循Adding SonarQube Scanner):
我的构建环境(跟随Configuring a SonarQube Scanner using environment variables):
我的 Maven 构建步骤(遵循Analyzing with SonarQube Scanner for Maven):
Jenkins 控制台日志:
[INFO] SonarQube version: 4.3
INFO: Default locale: "en_US", source code encoding: "cp1252"
INFO: Work directory: /home/jenkins/.jenkins/jobs/test/workspace/target/sonar
INFO: SonarQube Server 4.3
[INFO] [15:34:56.104] Load batch settings
[INFO] [15:34:56.248] User cache: /home/jenkins/.sonar/cache
[INFO] [15:34:56.254] Install plugins
[INFO] [15:34:56.320] Install JDBC driver
[WARN] [15:34:56.329] H2 database should be used for evaluation purpose only
[INFO] [15:34:56.329] Create JDBC datasource for jdbc:h2:tcp://localhost/sonar
[ERROR] Fail to connect to database
日志显示,Jenkins 使用了错误的数据库 URL(H2 而不是 PostgreSQL)。
我做错了什么?
【问题讨论】:
-
我强烈更新以将您的版本更新到 5.6.3 (LTS)
-
@Teryk - SonarSource 团队:我已经有一个用于 Java 8 构建作业的 SonarQube 5.6.3 实例。但是对于 Java 6 和 Java 7 构建作业,我需要旧的 SonarQube 4.3 实例。
-
您可以在 SQ 5.6+ 上分析 Java 6 和 7 项目。用你喜欢的任何方式编译,但运行分析使用 Java 8
-
@G。 Ann - SonarSource 团队:不幸的是,Jenkins 没有使用不同的 JDK/JRE 运行构建步骤的功能。我只能为整个构建作业选择一个 Java 版本。
-
@G。 Ann - SonarSource 团队:在 Hudson,我可以将 SonarQube 扫描作为构建后操作运行并使用不同的 JDK/JRE,但这对于 Jenkins 是不可能的。
标签: maven jenkins sonarqube sonarqube-scan