SonarQube Post-build 动作已弃用

The SonarQube Post-build Action is deprecated

我所有的 Maven 项目都使用 Jenkins 1.642.2 和 SonarQube 5.6.1 进行代码分析。

当我使用 Maven 目标时 sonar:sonar 他们需要更多时间来分析文件(每个文件超过 7 秒):

[INFO] Sensor SCM Sensor
[INFO] SCM provider for this project is: svn
[INFO] 1079 files to be analyzed
[INFO] 
[INFO] 2/1079 files analyzed
[INFO] 3/1079 files analyzed
[INFO] 4/1079 files analyzed
[INFO] 5/1079 files analyzed

当我使用具有此配置的 SonarQube 扫描仪时:

然后我有这个错误:

WARN: Property 'sonar.jdbc.url' is not supported any more. It will be  ignored. There is no longer any DB connection to the SQ database.
WARN: Property 'sonar.jdbc.username' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.
WARN: Property 'sonar.jdbc.password' is not supported any more. It will be ignored. There is no longer any DB connection to the SQ database.
INFO: User cache: /var/lib/jenkins/.sonar/cache
INFO: Load plugins index
INFO: Load plugins index (done) | time=43ms
INFO: SonarQube server 5.6.1
INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is  platform dependent)
INFO: Process project properties
INFO: ---------------------------------------------------------------------- --
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 1.621s
INFO: Final Memory: 39M/132M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: You must define the following mandatory properties for 'Unknown':   sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug    logging.
Build step 'Execute SonarQube Scanner' marked build as failure
Finished: FAILURE

我的设置文件:

<profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.jdbc.url>
            jdbc:mysql://11.230.5.88:3306/sonar
            </sonar.jdbc.url>
            <sonar.jdbc.username>sonar</sonar.jdbc.username>
            <sonar.jdbc.password>sonar</sonar.jdbc.password>
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>
              http://sonarqube-groupe.com/
            </sonar.host.url>
        </properties>
    </profile>

任何解决这个问题的想法,因为我在理解新的 sonarqube 用途时遇到问题

我必须为 maven 项目制作一个 sonar-project.properties 文件吗?

您可以并且仍然应该使用构建步骤使用 Maven 进行分析。如 in the docs 所述,您应该首先在全局配置级别 "Enable injection of SonarQube server configuration",然后在您的构建中启用构建环境选项 "Prepare SonarQube Scanner environment"。然后您可以将您的 Maven 目标设置为以下内容:

$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_AUTH_TOKEN