【问题标题】:sonar-scanner-maven fails on branch buildsonar-scanner-maven 在分支构建上失败
【发布时间】:2018-07-06 20:16:04
【问题描述】:

我尝试在一个空的 pom 上构建一个分支。

$ mvn sonar:sonar -Dsonar.host.url=http://sonar.corp.tld  -Dsonar.login=5846e53_LOGIN_HASH_d7e04e819  -Dsonar.projectKey=out.projectkey -Dsonar.branch.name=apple

我得到了这个错误:

Parameter 'characteristic' must be a key-value pair with the format 'key=value'.

从 maven DEBUG 日志中,我看到:

[DEBUG] 21:45:02.528 Upload report
[DEBUG] 21:45:03.459 POST 400 https://sonar.copr.tld/api/ce/submit?projectKey=our.projectkey&projectName=projName&characteristic=branch%253Dapple&characteristic=branchType%253DSHORT | time=928ms

在 SonarQube 服务器端,在日志中我们可以看到:

172.16.0.14 - - [06/Jul/2018:19:03:42 +0200] "POST /api/ce/submit?projectKey=our.projectkey&projectName=projName&characteristic=branch%253Dapple&characteristic=branchType%253DSHORT HTTP/1.1" 400 103 "-" "ScannerMaven/3.4.1.1168/3.5.0" "SERVER_ID"

声纳服务器:7.1

Maven 版本 3.5.4

我还尝试了最新的声纳 maven 插件。

我们发现问题似乎是characteristics URL 参数的双重编码branchbranchType

有没有遇到过这样的人?

谢谢, zsolt

【问题讨论】:

  • 看起来像this。您是否使用了任何“特殊”字符?
  • 不,不是。分支名称实际上是:apple project.key 和域也没有使用任何特殊字符。它认为任何想使用 maven 的声纳分析的人都可以重现。

标签: java maven sonarqube


【解决方案1】:

对我们来说,将 sonar.branch.name 设置为空值时发生了同样的错误。如果缺少此属性,则一切正常。但是当它为空时,请求将包含一个参数 branch= (nothing),这就是错误消息所抱怨的特性,因为它只是 key= (nothing) 而不是 key=value。

【讨论】:

    【解决方案2】:

    我解决了这个问题。

    背景信息: 我们的声纳服务器在 httpS 后面工作,apache 将所有请求从 http 重定向到 https

    所以,好的 maven 调用是:

    $ mvn sonar:sonar -Dsonar.host.url=https://sonar.corp.tld -Dsonar.login=5846e53_LOGIN_HASH_d7e04e819 -Dsonar.projectKey=out.projectkey -Dsonar.branch.name=apple

    区别在于 -Dsonar.host.url=https://sonar.corp.tld

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 2017-05-21
      • 2011-05-18
      • 2017-01-10
      • 2017-06-24
      • 2012-05-27
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多