black4bird
black4bird

Reputation: 677

Jenkins gradle sonarQube Android

I have to setup a job on Jenkins to build an Android Application. I have also a SonarQube server which is accessible at http://x.x.x.198/sonar. I added a shell script that will be called to launch sonarqube analysis on the project. SonarQube server and Jenkins run on different server, and I can access to the SonarQube host from Jenkins machine.

The build failed and here is the console output:

./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

Has anyone already faced this problem? Need help :|

Thanks in advance.

Upvotes: 4

Views: 2157

Answers (2)

black4bird
black4bird

Reputation: 677

Finaly found why it doesn't work. In my gradle.properties, i had specified some proxy properties. I have removed these entries (host, port, login, password, ...) so when sonarqube task is called, gradle does not use any proxy to access the SonarQube server. The task finished successfully on Jenkins and analysis reports uploaded to sonarqube server :).

This post helped me Sonarqube grade build failed with "SonarQube server [http://x.12.11.18:9000] can not be reached"

Hope this will help others.

Upvotes: 2

Shridutt Kothari
Shridutt Kothari

Reputation: 7394

2.7.1 is not back-compatible. Lock your plugin version to 2.6 in your pom.xml or upgrade your SonarQube

Workaround: Adding -Dsonar.host.url=http://my.server:9000 to mvn command works for me

Better than disabling the plugin, you may fix the plugin version to 2.6, which works fine, taking into account sonar.host.url.

For instance, with Maven in my case:

<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>

Upvotes: 0

Related Questions