2016-07-06 16 views
0

Ich benutze Jenkins und brauche meine Sonarqube, um eine Analyse auf meinem Code zu machen.Sonarqube bei der Verwendung von Jenkins nicht gefunden

Ich benutze Docker, um beide Bilder zu verwalten und den Port zuzuordnen, so dass sie von außen zugänglich sind. Es funktioniert super, ich kann in beiden Portalen öffnen und einloggen.

Mein Problem ist, dass wenn ich versuche, meine jenkins bauen und fragen Sonarqube für Informationen zu laufen, es gibt mir den folgenden Fehler wirft:

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 

Ich weiß gar nicht, was hier schief geht.

Was ich tat:

  • ich einen Server Schlüssel in den registrierten "user => token => ein Token für Benutzer erzeugen" in Sonarqube und es in meinem jenkins app
+0

Möglicherweise werden die im StackTrace genannten Bibliotheken mit einem anderen Port als dem heruntergeladen, den Sie derzeit für Docker zugeordnet haben. – Joakim

+0

Hat jemand eine Lösung gefunden? –

Antwort

0

Dieser Fehler bedeutet, dass Ihr Jenkins-Server nicht auf Ihren Sonar-Server zugreifen kann. Vielleicht ist die IP oder Domain falsch eingestellt. Vielleicht ist die Vernetzung zwischen ihnen nicht richtig eingerichtet.

Irgendwo in Ihrer Jenkins Konsole anmelden Sie etwas sehen sollte:

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

Stellen Sie sicher, dass diese sonar.host.url richtig eingestellt ist. Stellen Sie dann sicher, dass Sie von Ihrem jenkins-Server darauf zugreifen können.