【问题标题】:SonarQube analysis from maven and Jenkins have different results来自 maven 和 Jenkins 的 SonarQube 分析有不同的结果
【发布时间】:2019-06-28 04:33:21
【问题描述】:

我正在使用 SonarQube 版本 6.7 使用命令提示符从项目目录中使用命令 mvn clean verify sonar:sonar 运行 Maven 项目分析并获取结果。分别添加了settings.xml中maven(v3.5.3)的声纳配置。

在 Jenkins(2.161 版)中,我安装了 SonarQube Scanner for Jenkins (v2.8.1) 插件。 SonarQube 服务器配置如下。

Jenkins maven 项目中,我配置了post步骤如下。

我检查了Build Environment 部分中的Prepare SonarQube Scanner environment,构建目标是-e clean verify sonar:sonar

我的问题是,当使用命令mvn clean verify sonar:sonar 通过命令提示符触发 Maven 项目的 SonarQube 分析时,我得到了预期的结果。但是当Jenkins作业被同一个maven项目的上述配置触发时,结果是不同的和不正确的。我错过了什么?

P.S- 在 Post-build Actions 中,我可以看到 SonarQube analysis with maven 已弃用。

提前致谢。

【问题讨论】:

    标签: maven jenkins sonarqube sonarqube-scan


    【解决方案1】:

    您使用不同的扫描仪。首先你使用SonarScanner for Maven (mvn sonar:sonar)。接下来您使用了 Basi SonarScanner,这需要手动配置所有选项。

    唯一的最佳选择是始终使用相同的扫描仪。你有Maven项目,所以你可以在Build Environment中启用Prepare SonarQube Scanner environment,然后在Build中执行Sonar目标$SONAR_MAVEN_GOAL

    【讨论】:

    • 我现在有另一个问题。我已经在 sonarqube 服务器中安装了sonar-build-breaker-plugin,还在 Jenkins 中安装了quality gates plugin。但是声纳分析的 maven 触发器是通过的,因为 Jenkins 触发器失败并出现错误Project does not pass the quality gate。这里可能缺少什么?
    猜你喜欢
    • 2015-11-06
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 2017-11-29
    • 2020-07-13
    • 2016-12-14
    • 2015-01-19
    相关资源
    最近更新 更多