2016-07-06 33 views
0

我使用jenkins,我需要我的sonarqube对我的代码进行一些分析。使用jenkins时未能找到sonarqube

我使用docker来管理两个图像并映射端口,以便它们可以从外部访问。它工作得很好,我可以在两个门户中打开并登录。

我的问题是,当我尝试运行我的詹金斯建设,并要求sonarqube的信息,它抛出我下面的错误:

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 org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:71) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:71) 
    at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:67) 
    at org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:218) 
    at org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:156) 
    at org.sonarsource.scanner.cli.Main.execute(Main.java:70) 
    at org.sonarsource.scanner.cli.Main.main(Main.java:60) 
Caused by: java.lang.IllegalStateException: Fail to download libraries from server 
    at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:93) 
    at org.sonarsource.scanner.api.internal.Jars.download(Jars.java:70) 
    at org.sonarsource.scanner.api.internal.JarDownloader.download(JarDownloader.java:39) 
    at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:75) 
    ... 8 more 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:589) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.internal.Platform.connectSocket(Platform.java:101) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Connection.connectSocket(Connection.java:198) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Connection.connect(Connection.java:172) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Connection.connectAndSetOwner(Connection.java:358) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:117) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:329) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:246) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Call.getResponse(Call.java:276) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:234) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Call.getResponseWithInterceptorChain(Call.java:196) 
    at org.sonarsource.scanner.api.internal.shaded.okhttp.Call.execute(Call.java:79) 
    at org.sonarsource.scanner.api.internal.ServerConnection.callUrl(ServerConnection.java:114) 
    at org.sonarsource.scanner.api.internal.ServerConnection.downloadString(ServerConnection.java:99) 
    at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:78) 
    ... 11 more 
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging. 
Build step 'Execute SonarQube Scanner' marked build as failure 
Finished: FAILURE 

我不知道都发生了什么事情错在这里。

我所做的:

  • 我已经注册的服务器密钥“用户=>标记=>生成用户令牌”在sonarqube,并用它我詹金斯应用
+0

它可能正在使用目前为Docker映射的其他端口下载堆栈跟踪中提到的库。 – Joakim

+0

有没有人找到任何解决方案? –

回答

0

此错误表示您的Jenkins服务器无法访问您的声纳服务器。也许IP或域名设置错误。也许他们之间的网络设置不正确。

在詹金斯控制台

某处登陆,你应该看到这样的事情:

Injecting SonarQube environment variables using the configuration: Sonarqube Local 
[workspace] $ mvn sonar:sonar -Dsonar.host.url=http://sonar.yourserver.com -Dsonar.login=****** 

确保此sonar.host.url设置正确。然后确保你可以从你的jenkins服务器访问它。