错误:无法访问 SonarQube 服务器 [http://localhost:9000]
Posted
技术标签:
【中文标题】错误:无法访问 SonarQube 服务器 [http://localhost:9000]【英文标题】:ERROR: SonarQube server [http://localhost:9000] can not be reached 【发布时间】:2018-10-14 09:55:31 【问题描述】:我运行 Jenkins、sonarqube 每个 docker 并在 sonarqube docker 中安装 sonar-scanner。我在浏览器 localhost:9000 中检查了 sonarqube 我在 jenkins 中配置 sonarqube 和 github repo,我在 jenkins 中构建项目我收到错误消息
Started by user user
Building in workspace /bitnami/jenkins/workspace/refrigerator-manager
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://github.com/dean-
kim/refrigerator-manager # timeout=10
Fetching upstream changes from https://github.com/dean-
kim/refrigerator-manager
> git --version # timeout=10
using GIT_ASKPASS to set credentials
> git fetch --tags --progress https://github.com/dean-
kim/refrigerator-manager +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^commit # timeout=10
> git rev-parse refs/remotes/origin/origin/master^commit #
timeout=10
Checking out Revision 619639b2a173a3aa58ec05c13442168f7a8e49dd
(refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 619639b2a173a3aa58ec05c13442168f7a8e49dd
Commit message: "fix sonar-project.properties file"
> git rev-list --no-walk 619639b2a173a3aa58ec05c13442168f7a8e49dd #
timeout=10
[refrigerator-manager] $ /sonar-scanner-3.1.0.1141-linux/bin/sonar-
scanner -Dsonar.host.url=http://localhost:9000 ******** -
Dsonar.projectName=Refrigerator-manager -Dsonar.projectVersion=1.0 -
Dsonar.sourceEncoding=UTF-8 -Dsonar.projectKey=my:project -
Dsonar.host.url=http://localhost:9000 -
Dsonar.sources=refrigeratior_manager -
Dsonar.projectBaseDir=/bitnami/jenkins/workspace/refrigerator-manager
INFO: Scanner configuration file: /sonar-scanner-3.1.0.1141-
linux/conf/sonar-scanner.properties
INFO: Project root configuration file:
/bitnami/jenkins/workspace/refrigerator-manager/sonar-
project.properties
INFO: SonarQube Scanner 3.1.0.1141
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Linux 4.9.41-moby amd64
INFO: User cache: /home/tomcat/.sonar/cache
ERROR: SonarQube server [http://localhost:9000] can not be reached
INFO: -----------------------------------------------------------------
-------
INFO: EXECUTION FAILURE
INFO: -----------------------------------------------------------------
-------
INFO: Total time: 0.441s
INFO: Final Memory: 3M/59M
INFO: -----------------------------------------------------------------
-------
ERROR: Error during SonarQube Scanner execution
ERROR: Unable to execute SonarQube
ERROR: Caused by: Fail to get bootstrap index from server
ERROR: Caused by: Failed to connect to localhost/127.0.0.1:9000
ERROR: Caused by: Connection refused (Connection refused)
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full
debug logging.
WARN: Unable to locate 'report-task.txt' in the workspace. Did the
SonarScanner succedeed?
ERROR: SonarQube scanner exited with non-zero code: 1
Finished: FAILURE
这是我的 github 存储库项目根目录中的 sonar-project.properties。
sonar.projectKey=my:project
sonar.projectName=Refrigerator-manager
sonar.projectVersion=1.0
sonar.sources=refrigeratior_manager
sonar.host.url=http://localhost:9000
这是我的 sonarqube 的 jenkins 系统配置
这是我的 jenkins 声纳扫描仪全局工具配置
这是我用于执行 sonarqube 扫描仪的 Jenkins 项目配置
我在谷歌搜索了几天来解决这个问题,但我找不到解决方案。
【问题讨论】:
您是否设法解决了您的问题,并让声纳扫描仪在端口 9000 上运行? 您可能需要在属性文件的 url 中添加“http://”。这就是我的问题。 【参考方案1】:似乎如果您使用代理,Sonar 将使用您的 maven .m2/settings.xml
中的第一个,因此如果您有多个条目,则只会尝试第一个。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<proxies>
<!-- europe proxies (main proxy first for sonar!) -->
<proxy>
<id>http-eu-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>web-proxy.eu.mycompany.com</host>
<port>8080</port>
</proxy>
<proxy>
<id>https-eu-proxy</id>
<active>true</active>
<protocol>https</protocol>
<host>web-proxy.eu.mycompany.com</host>
<port>8080</port>
</proxy>
<!-- india proxies -->
<proxy>
<id>http-in-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>web-proxy.in.mycompany.com</host>
<port>8080</port>
</proxy>
<proxy>
<id>https-in-proxy</id>
<active>true</active>
<protocol>https</protocol>
<host>web-proxy.in.mycompany.com</host>
<port>8080</port>
</proxy>
</proxies>
</settings>
【讨论】:
【参考方案2】:我和你一样有问题
无法在工作区中找到“report-task.txt”。 SonarScanner 成功了吗?
我尝试在附加参数中使用-X
。它可以看到启用完整
调试日志。你可以使用它。
【讨论】:
【参考方案3】:当您从 Jenkins 运行构建时,您的 sonarqube 扫描仪是否正在运行? 如果没有,它会抛出上面的消息,因为 jenkins 正在尝试监听 9000 端口,但是那里什么都没有。
【讨论】:
thx,我在 sonarqube docker 中运行 sonar-scanner 它不起作用,我会检查 sonar-scanner以上是关于错误:无法访问 SonarQube 服务器 [http://localhost:9000]的主要内容,如果未能解决你的问题,请参考以下文章
无法在Windows上将SonarQube 5.3作为服务运行
SonarQube 8.5.1 - 无法启动服务 - 包装器错误
无法访问 SonarQube 服务器 [https://sonar.example.org]