错误:声纳服务器' http:// localhost:9000'无法联系

时间:2015-08-19 13:48:35

标签: build sonarqube

运行以下命令时: cmd / c C:\ sonar-runner-2.4 \ bin \ sonar-runner.bat

(声纳跑步者安装在构建机器上) 我收到以下错误:
错误:声纳服务器' http://localhost:9000'无法联系到 错误:声纳跑步者执行期间出错 错误:java.net.ConnectException:拒绝连接:连接
错误:引起:连接被拒绝:连接

什么可能导致这些错误?

嗨dinesh,

这是我的sonar-runner.properties文件:

sonar.projectKey=NDM
sonar.projectName=NDM
sonar.projectVersion=1.0

sonar.visualstudio.solution=NDM.sln

#sonar.sourceEncoding=UTF-8
sonar.web.host:sonarqube
sonar.web.port=9000

# Enable the Visual Studio bootstrapper
sonar.visualstudio.enable=true

# Unit Test Results
sonar.cs.vstest.reportsPaths=TestResults/*.trx

# Required only when using SonarQube < 4.2
sonar.language=cs

sonar.sources=.

如你所见,我设置了sonar.web.host:sonarqube sonar.web.port = 9000但是当我运行sonar-runner.bat时,我仍然得到了 错误:声纳服务器&#39; http://localhost:9000&#39;无法联系到 - 为什么还在寻找localhost:9000
而不是sonarqube:我设置了9000?

我在sonar-runner.bat的日志中看到了以下行: 信息:工作目录:D:\ sTFS \ 26091 \ Sources \ NDM \ Source..sonar

我的解决方案在D:\ sTFS \ 26091 \ Sources \ NDM \ Source \

这可能是问题吗?

感谢, 盖

9 个答案:

答案 0 :(得分:5)

您应该配置声纳运行器以使用现有的SonarQube服务器。为此,您需要更新其conf/sonar-runner.properties文件并指定SonarQube服务器URL,用户名,密码和JDBC URL。有关详细信息,请参阅http://docs.sonarqube.org/display/SONAR/Installing+and+Configuring+SonarQube+Runner

如果您还没有启动并运行SonarQube服务器,那么您可以在本地启动一个(使用默认配置) - 它将绑定到http://localhost:9000并使用默认的声纳 - 运行器配置。有关如何开始使用SonarQube服务器的详细信息,请参阅http://docs.sonarqube.org/display/SONAR/Setup+and+Upgrade

答案 1 :(得分:4)

我遇到了同样的问题,我改用IP,它运行良好

转到系统引用->网络->高级->打开TCP / IP选项卡->复制IPv4地址。

更改该IP代替本地主机

希望这会有所帮助

答案 2 :(得分:0)

在配置文件中,在sonar.web.host之后有一个冒号而不是等号。

时:

sonar.web.host:sonarqube

应该是

sonar.web.host=sonarqube

答案 3 :(得分:0)

在conf文件夹中的sonar.properties文件中,我在我的机器上安装了硬件的ip,其中sobarqube安装在属性sonar.web.host = 10.9 235.22我对此进行了评论,它开始为我工作。

答案 4 :(得分:0)

对于其他在不使用sonar-runners.property文件的项目中遇到此问题的人,您可能会发现(就像我一样)需要调整pom.xml文件,添加一个sonar.host。 url属性。

例如,我需要在“ properties”元素下添加以下行:

<sonar.host.url>https://sonar.my-internal-company-domain.net</sonar.host.url>

URL指向我们内部的声纳部署。

答案 5 :(得分:0)

当您允许9000端口在所需的操作系统上进行防火墙连接时,以下错误“错误:无法访问声纳服务器'http://localhost:9000'”将成功删除。在ubuntu中,就像键入在终端“ sudo ufw allow 9000 / tcp”中执行以下命令,通过单击jenkins中的“ build”,此错误将从Jenkins服务器中删除。

答案 6 :(得分:0)

对我来说,问题是Maven声纳插件正在使用maven settings.xml中定义的代理服务器。我试图访问另一个(而不是localhost别名)上的声纳,因此它试图使用代理服务器来访问它。刚刚将我的别名添加到settings.xml中的nonProxyHosts,它现在可以正常工作。仅在升级后,我才在Maven声纳插件3.2中没有遇到这个问题。

<proxy>
  <id>proxy_id</id>
  <active>true</active>
  <protocol>http</protocol>
  <host>your-proxy-host/host>
  <port>your-proxy-host</port>
  <nonProxyHosts>localhost|127.0.*|other-non-proxy-hosts</nonProxyHosts>
</proxy>enter code here

答案 7 :(得分:0)

如果将SonarScanner CLI与Docker结合使用,则可能会出现此错误,因为SonarScanner容器无法访问Sonar UI容器。

请注意,通过另一个容器进行简单的卷曲,您将遇到相同的错误:

docker run --rm byrnedo/alpine-curl 127.0.0.1:9000
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (7) Failed to connect to 127.0.0.1 port 8080: Connection refused

解决方案是将SonarScanner容器连接到声纳实例的同一docker network,例如,使用--network=host

docker run --network=host -e SONAR_HOST_URL='http://127.0.0.1:9000' --user="$(id -u):$(id -g)" -v "$PWD:/usr/src" sonarsource/sonar-scanner-cli

(此命令的其他参数来自SonarScanner CLI documentation

答案 8 :(得分:0)

请检查postgres(或任何其他数据库服务)是否正常运行。