当我尝试将SonarQube Scanner作为Jenkins构建的一部分执行时,我收到以下错误:
ERROR: SonarQube server [http://<hostname>:9000] can not be reached
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.242s
INFO: Final Memory: 5M/483M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
org.sonarsource.scanner.api.internal.ScannerException: Unable to execute SonarQube
at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:84)
at
... 8 more
Caused by: java.lang.IllegalStateException: Status returned by
url [http://<hostname>:9000/batch/index] is not valid: [404]
at org.sonarsource.scanner.api.internal.ServerConnection.callUrl(ServerConnection.java:115)
at org.sonarsource.scanner.api.internal.Jars.getBootstrapIndex(Jars.java:96)
... 12 more
ERROR:
我可以从我的Jenkins主机访问以下URL:http://:9000 / sonar /。当我尝试执行此操作时:
wget http://<hostname>:9000/batch/index
我得到了相同的404 http错误。我不知道这个URL后缀 / batch / index 来自哪里。网络搜索没有给出任何线索。
我的声纳版本是6.0。我的Jenkins Sonar Scanner插件版本是2.6.1。
使用JVM:
java版“1.8.0_121” Java(TM)SE运行时环境(版本1.8.0_121-b13) Java HotSpot(TM)64位服务器VM(版本25.121-b13,混合模式)
答案 0 :(得分:2)
声纳服务器上声纳网络环境(sonar.web.context
)的设置是什么?它将在sonar.properties
内。默认情况下,Jenkins插件和声纳服务器配置都将其设置为root:
'http://<hostname>:9000/'
我要做的第一件事是确保它们在声纳配置和jenkins插件配置中匹配。
我见过教程,告诉你使用/sonar
或类似的东西。在这种情况下,jenkins插件也需要设置为/sonar
,例如:
'http://<hostname>:9000/sonar'