我试图从jenkins工作执行以下maven命令,
mvn clean install sonar:sonar -Dsonar.host.url=http://hostname:9095/sonar -Dsonar.projectKey=mavensample -Dsonar.login=admin -Dsonar.password=admin -X
但它失败并出现以下错误,
[DEBUG] 18:20:49.119 Download: http://hostname:9095/batch/index
[ERROR] 18:20:49.176 SonarQube server [http://hostname:9095] can not be reached
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.920 s
[INFO] Finished at: 2017-07-14T18:20:49+02:00
[INFO] Final Memory: 20M/171M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project my-stc: Unable to execute SonarQube: Fail to get bootstrap index from server: Status returned by url [http://hostname:9095/batch/index] is not valid: [403] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
当我尝试在浏览器中访问http:// hostname:9095时,它可以工作.
我还将sonarqube设置中的基本URL设置为http:// hostname:9095并尝试但是它失败并出现相同的错误.
Sonaqube与maven和jenkins安装在同一台机器上.
我认为这可能是由于代理(可能是我错了),所以我在sonar.properties文件中设置了代理设置并尝试但没有运气.
仅供参考,它正在使用以下版本的sonar-maven插件,
[INFO] --- sonar-maven-plugin:3.3.0.603:sonar (default-cli) @ my-stc ---
Run Code Online (Sandbox Code Playgroud)
有人早先遇到同样的问题吗
小智 14
问题是声纳-maven插件版本3.3我尝试使用版本3.2,它的工作原理.我将以下内容传递给maven命令行参数org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar
我最近遇到了一个非常相似的问题对我来说,解决方案与代理设置有关,如果您没有代理,请跳过此答案。
我的命令
mvn clean sonar:sonar -Dsonar.host.url=http://192.168.56.101:9000 -Dsonar.login=admin -Dsonar.password=admin
[INFO] --- sonar-maven-plugin:3.7.0.1746:sonar (default-cli) @ baselineV001-parent ---
[INFO] User cache: /home/developer/.sonar/cache
[ERROR] SonarQube server [http://192.168.56.101:9000] can not be reached
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for baselineV001-parent 1.0.0-SNAPSHOT:
... skipping some info lines for brevity (its a big project)
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli) on project baselineV001-parent: Unable to execute SonarQube: Fail to get bootstrap index from server: Status returned by url [http://192.168.56.101:9000/batch/index] is not valid: [503] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
日志的关键部分是http://192.168.56.101:9000/batch/index is not valid。我可以卷曲这个网址,它的工作原理。
在稍微思考一下与 curl 的不同之处之后,我在 Maven 设置中设置了一个代理,~/.m2/settings.xml但我没有一个用于 curl 的设置。
为了检查代理是否是问题,我删除了 settings.xml 中的代理条目,然后我看到它工作并与我的 sonarqube 服务器通信
因此,如果您有代理,您可能希望将您的 sonarqube 服务器指定为字段nonProxyHosts中的主机 ~/.m2/settings.xml
<proxies>
<proxy>
<id>intranet-proxy</id>
<active>true</active>
<protocol>http</protocol>
<username/>
<password/>
<host>proxy.intra.redacted.com</host>
<port>8080</port>
<nonProxyHosts>localhost|192.168.56.101</nonProxyHosts>
</proxy>
</proxies>
Run Code Online (Sandbox Code Playgroud)
还有一点是关于建议人们使用 v3.2。这可能是一个修复,但它不应该是长期的答案,因为 v3.2 目前已经 3 岁了(2020 年 9 月是 4 岁)。我在其他线程中看到 sonarsource 支持团队说给我们更多关于这个问题的信息,但是在一个较新版本的 sonar-maven-plugin 上。
编辑 1:忘了说我在https://github.com/SonarSource/sonar-scanner-maven的 sonar-maven-plugin 的 v3.3.0.603 中找不到更改,但似乎版本 3.3。 0.603 到当前 (3.7.0.1746) 和可能的未来版本注意代理的 maven 设置。您可能会争辩说这是以前版本中的一个错误,即他们不尊重 maven 的代理设置。编辑2:错字
| 归档时间: |
|
| 查看次数: |
24957 次 |
| 最近记录: |