【问题标题】:Invalid sonar.source property when SonarQube is on different Server and Jenkins on different Server当 SonarQube 在不同的服务器上而 Jenkins 在不同的服务器上时,sonar.source 属性无效
【发布时间】:2019-12-09 14:43:49
【问题描述】:

目前我正在使用 SonarQube 插件将 SonarQube 与 Jenkins 集成。我面临的问题是我的 Jenkins 运行在与 SonarQube 不同的服务器上。因此,当我传递像 $workspace/src 这样的 sonar.source 属性时,由于服务器位置不同,它无法找到由 Jenkins 创建的我的 repo 的 Jenkins 工作区

我的项目是 maven。以下是声纳特性的详细信息:

sonar.projectKey=$POM_GROUPID:$POM_ARTIFACTID
sonar.projectName=$POM_DISPLAYNAME
sonar.projectVersion=$POM_VERSION
sonar.sources=$WORKSPACE/src
sonar.java.binaries=**/classes/**

P.S - 当 Jenkins 和 SonarQube 在同一台服务器上时,SonarQube 能够找到工作空间的来源

如何传递位于 Jenkins 服务器上的工作空间的sonar.source,以便声纳能够找到它?

【问题讨论】:

    标签: jenkins sonarqube sonarqube-scan


    【解决方案1】:

    您必须使用相对路径。这是绝对的:

    sonar.sources=$WORKSPACE/src
    

    这是相对的:

    sonar.sources=src
    

    但这不是您的问题的推荐解决方案。你有 Maven,所以你应该使用SonarScanner for Maven,步骤:

    • 删除您添加的配置
    • 配置源(两个选项):
      1. 将新属性添加到您的pom.xml<sonar.sources>pom.xml,src</sonar.sources>
      2. 将参数添加到mvn 命令:-Dsonar.sources=pom.xml,src
    • 执行 SonarScanner sonar:sonar

    例子:

    mvn package sonar:sonar -Dsonar.sources=pom.xml,src
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多