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