繁体   English   中英

如何使用 jenkins 构建 android 项目?

[英]How to build android project with jenkins?

我一直在尝试设置 jenkins 来构建一个基于 gradle 的 android 项目。

这是我到目前为止所做的:

  1. 使用 Bitnami 的 Jenkins Stack 启动了一个 EC2 实例。
  2. 成功测试了每分钟打印一次“正常运行时间”的作业。
  3. 安装 Android SDK 工具。

但是现在当我配置一个作业以使用它构建 android 项目时,我得到一个奇怪的异常,我认为这与我的 ubuntu 机器上的某些权限有关。

这是堆栈跟踪:

    First time build. Skipping changelog.
[workspace] $ /bin/sh -xe /opt/bitnami/apache-tomcat/temp/hudson1533897385497543877.sh
+ whoami
tomcat
+ echo Starting Build
Starting Build
[Gradle] - Launching build.
[workspace] $ gradle clean
Could not load Logmanager "org.apache.juli.ClassLoaderLogManager"
java.lang.ClassNotFoundException: org.apache.juli.ClassLoaderLogManager
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.util.logging.LogManager$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.<clinit>(Unknown Source)
    at org.gradle.logging.internal.JavaUtilLoggingConfigurer.configure(JavaUtilLoggingConfigurer.java:36)
    at org.gradle.logging.internal.DefaultLoggingConfigurer.configure(DefaultLoggingConfigurer.java:34)
    at org.gradle.logging.internal.LoggingSystemAdapter.setLevel(LoggingSystemAdapter.java:55)
    at org.gradle.logging.internal.LoggingSystemAdapter.on(LoggingSystemAdapter.java:42)
    at org.gradle.logging.internal.DefaultLoggingManager$StartableLoggingSystem.start(DefaultLoggingManager.java:191)
    at org.gradle.logging.internal.DefaultLoggingManager.start(DefaultLoggingManager.java:60)
    at org.gradle.logging.internal.DefaultLoggingManager.start(DefaultLoggingManager.java:31)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:201)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)

FAILURE: Build failed with an exception.

* What went wrong:
Failed to create parent directory '/opt/bitnami/.gradle/caches/2.6/scripts' when creating directory '/opt/bitnami/.gradle/caches/2.6/scripts/settings_i62l96mhihwg5udfskdyy53h/cp_settings'

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

BUILD FAILED

Total time: 2.27 secs
Build step 'Invoke Gradle script' changed build result to FAILURE
Build step 'Invoke Gradle script' marked build as failure
Finished: FAILURE

准备提供任何人需要的任何其他信息。 请建议我该怎么做。

我已经和詹金斯一起工作了很长时间,这可能有很多原因。 首先我会检查詹金斯的环境变量。 添加一个 build setp echo $PATH 因为这在我看来就像 java 找不到某些库一样。 将此 PATH 变量与本地变量进行比较。 此外,安装任何新东西后,请确保执行 http://{your_jenkins_url}/restart。

可能与: https ://community.bitnami.com/t/gradle-user-home-opt-bitnami-gradle/40717有关

默认情况下,bitnami jenkins/gradle 设置似乎将 GRADLE_USER_HOME 指向 jenkins/gradle 不可写的目录,因此各种下载/缓存以神秘的方式失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM