错误:无法访问 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作为服务运行

在 TeamCity 上运行 SonarQube

SonarQube 8.5.1 - 无法启动服务 - 包装器错误

无法访问 SonarQube 服务器 [https://sonar.example.org]

服务器无法访问到 Jenkins 的 SonarQube Webhook

Sonarqube 无法加载组件