我已经安装了Jenkins和SonarQube 5.1.1(也尝试过LTS),它在Ubuntu服务器上运行,可从外部访问。我安装了Jenkins SonarQube插件,一切正常。如果我将Jenkins中的SonarQube服务器URL设置为localhost,那么一切都很好。但是,SonarQube(Jenkins内部)的链接将指向localhost,当我从外部访问Jenkins时,这不可行。
如果我将服务器URL设置为我的真实IP,例如111.112.113.114,那么我收到一条错误消息,指出无法访问服务器。
[错误]无法执行目标org.codehaus.mojo:sonar-maven-plugin:2.6:sonar(default-cli)项目com.ericsson.dx.lta.parent:执行default-cli of goal org.codehaus.mojo :sonar-maven-plugin:2.6:声纳失败:无法在http://111.112.113.114:9000/sonar到达SonarQube服务器。请检查参数'sonar.host.url'。读取超时 - > [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目com.ericsson.dx上执行目标org.codehaus.mojo:sonar-maven-plugin:2.6:sonar(default-cli) .lta.parent:目标org.codehaus.mojo的执行default-cli:sonar-maven-plugin:2.6:声纳失败:在http://111.112.113.114:9000/sonar无法访问SonarQube服务器。请检查参数'sonar.host.url'。
但我从另一台计算机访问浏览器中的SonarQube没有问题。
在sonar.properties中,我尝试了sonar.web.host上的不同设置,例如sonar.web.host = 0.0.0.0和sonar.web.host = 111.112.113.114
如果我正确理解您的问题,我认为您正在寻找的是您可以在全局管理设置中设置的sonar.core.serverBaseUrl
属性:
这是将在日志或通知中使用的SonarQube实例的“公共”URL。
您需要知道本地防火墙是否阻止了您的连接。尝试:telnet localhost 9000
并检查结果。