我尝试在空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插件。
我们发现问题似乎是
branch
URL参数的双重编码的branchType
和characteristics
。有谁遇到过那样的人吗?
谢谢,
索尔特
最佳答案
我解决了问题。
背景信息:
我们的声纳服务器在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