【问题标题】:Jenkins gradle sonarQube Android詹金斯 gradle sonarQube Android
【发布时间】:2016-12-15 05:30:24
【问题描述】:

我必须在 Jenkins 上设置一个工作来构建一个 Android 应用程序。我还有一个 SonarQube 服务器,可通过 http://x.x.x.198/sonar 访问。 我添加了一个 shell 脚本,该脚本将被调用以对项目启动 sonarqube 分析。 SonarQube 服务器和 Jenkins 在不同的服务器上运行,我可以从 Jenkins 机器访问 SonarQube 主机。

构建失败,这是控制台输出:

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

有人遇到过这个问题吗?需要帮助:|

提前致谢。

【问题讨论】:

    标签: android jenkins gradle sonarqube sonarqube-scan


    【解决方案1】:

    终于找到了为什么它不起作用。在我的 gradle.properties 中,我指定了一些代理属性。我已经删除了这些条目(主机、端口、登录名、密码……),所以当调用 sonarqube 任务时,gradle 不使用任何代理来访问 SonarQube 服务器。任务在 Jenkins 上成功完成,分析报告上传到 sonarqube 服务器:)。

    这篇文章帮助了我Sonarqube grade build failed with "SonarQube server [http://x.12.11.18:9000] can not be reached"

    希望这对其他人有所帮助。

    【讨论】:

      【解决方案2】:

      2.7.1 is not back-compatible。在 pom.xml 中将插件版本锁定为 2.6 或升级 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>
      

      【讨论】:

      • 我正在使用 gradle,而不是 maven。那我怎么能用 gradle 锁定插件版本呢?
      • * 出了什么问题:任务 ':app:compileDebugJavaWithJavac' 执行失败。 > javax/xml/bind/JAXBException 我在运行 gradlew sonarqube 时遇到这个错误。
      猜你喜欢
      • 2020-12-30
      • 2016-12-24
      • 2019-11-24
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-07-04
      • 2017-11-02
      • 2017-05-04
      相关资源
      最近更新 更多