2016-08-09 91 views
3

Ich muss einen Job auf Jenkins einrichten, um eine Android-Anwendung zu erstellen. Ich habe auch einen SonarQube-Server, der unter http://x.x.x.198/sonar erreichbar ist. Ich habe ein Shell-Skript hinzugefügt, das aufgerufen wird, um die Sonarqube-Analyse für das Projekt zu starten. SonarQube-Server und Jenkins laufen auf einem anderen Server und ich kann vom Jenkins-Rechner aus auf den SonarQube-Host zugreifen.Jenkins gradle sonarQube Android

Der Build fehlgeschlagen ist und hier ist die Ausgabe der Konsole:

./gradlew sonarqube --stacktrace -Dsonar.url.host=http://x.x.x.198/sonar 

Parallel execution with configuration on demand is an incubating feature. 
Incremental java compilation is an incubating feature. 
:app:sonarqubeSonarQube server [http://x.x.x.198/sonar] can not be reached 
FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':app:sonarqube'. 
> Unable to execute SonarQube 

* Try: 
Run with --info or --debug option to get more log output. 

* Exception is: 
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:sonarqube'. 
    at  org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52) 
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203) 
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50) 
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) 
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) 
Caused by: 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 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.sonarqube.gradle.SonarQubeTask.run(SonarQubeTask.java:83) 
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) 
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227) 
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220) 
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209) 
    at  org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585) 
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) 
    ... 14 more 
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) 
    ... 28 more 
Caused by: java.lang.IllegalStateException: Status returned by url [http://10.133.64.198/sonar/batch_bootstrap/index] is not valid: [403] 
    at org.sonarsource.scanner.api.internal.ServerConnection.callUrl(ServerConnection.java:116) 
    at org.sonarsource.scanner.api.internal.ServerConnection.downloadString(ServerConnection.java:99) 
    at org.sonarsource.scanner.api.internal.Jars.downloadFiles(Jars.java:78) 
    ... 31 more 


BUILD FAILED 

Total time: 1.632 secs 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

Hat jemand bereits mit diesem Problem konfrontiert? Brauche Hilfe: |

Vielen Dank im Voraus.

Antwort

2

Finaly gefunden, warum es nicht funktioniert. In meiner gradle.properties hatte ich einige Proxy-Eigenschaften angegeben. Ich habe diese Einträge entfernt (Host, Port, Login, Passwort, ...). Wenn Sonarqube Task aufgerufen wird, verwendet Gradle keinen Proxy für den Zugriff auf den SonarQube Server. Die Aufgabe wurde erfolgreich auf Jenkins und Analyse-Berichten beendet, die auf den Sonarqube-Server hochgeladen wurden :).

Dieser Beitrag hat mir geholfen, Sonarqube grade build failed with "SonarQube server [http://x.12.11.18:9000] can not be reached"

Hope this andere helfen.

0

2.7.1 is not back-compatible. Sperren Sie Ihre Plugin-Version 2.6 in Ihrem pom.xml oder aktualisieren Sie Ihre Sonarqube

Umgehung: Hinzufügen -Dsonar.host.url=http://my.server:9000 zu mvn Befehl funktioniert für mich

Besser als das Plugin deaktivieren, können Sie beheben, um die Plugin-Version 2.6, was gut funktioniert, unter Berücksichtigung von sonar.host.url.

Zum Beispiel mit Maven in meinem Fall:

<pluginManagement> 
    </plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>sonar-maven-plugin</artifactId> 
     <version>2.6</version> 
     <!-- sonar.host.url not working with version 2.7 --> 
    </plugin> 
    </plugins> 
</pluginManagement> 
+0

Ich arbeite mit Gradle, nicht mit Maven. Also, wie könnte ich die Plugin-Version mit Gradle sperren? – black4bird