Jenkins Gradle SonarQube Android

Мне нужно настроить работу на Jenkins для создания приложения для Android. У меня также есть сервер SonarQube, который доступен по адресу http://x.x.x.198/sonar. Я добавил сценарий оболочки, который будет вызываться для запуска анализа сонаркуба в проекте. Сервер SonarQube и Jenkins работают на разных серверах, и я могу получить доступ к хосту SonarQube с компьютера Jenkins.

Сборка не удалась, и вот вывод консоли:

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

Кто-нибудь уже сталкивался с этой проблемой? Нужна помощь :|

Заранее спасибо.


person black4bird    schedule 09.08.2016    source источник


Ответы (2)


Наконец-то нашел, почему не работает. В моих gradle.properties я указал некоторые свойства прокси. Я удалил эти записи (хост, порт, логин, пароль, ...), поэтому при вызове задачи sonarqube gradle не использует прокси-сервер для доступа к серверу SonarQube. Задача успешно завершена на Jenkins, и отчеты об анализе загружены на сервер sonarqube :).

Этот пост помог мне оценить https://stackoverflow.com/questions/36758347/sonarqube-grade-build-failed-with-sonarqube-server-http-x-12-11-189000-can

Надеюсь, это поможет другим.

person black4bird    schedule 11.08.2016

2.7.1 обратно не совместим. Заблокируйте версию вашего плагина до 2.6 в вашем pom.xml или обновите свой SonarQube.

Временное решение: мне помогает добавление -Dsonar.host.url=http://my.server:9000 в команду mvn

Лучше, чем отключать плагин, вы можете исправить версию плагина до 2.6, которая отлично работает с учетом sonar.host.url.

Например, с Maven в моем случае:

<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>
person shridutt kothari    schedule 09.08.2016
comment
Я работаю с gradle, а не с maven. Итак, как я могу заблокировать версию плагина с помощью gradle? - person black4bird; 09.08.2016
comment
* Что пошло не так: не удалось выполнить задачу ':app:compileDebugJavaWithJavac'. › javax/xml/bind/JAXBException Я получаю эту ошибку при запуске gradlew sonarqube. - person Akshay; 09.04.2020