【发布时间】:2015-05-18 03:08:23
【问题描述】:
我正在尝试建立一个 Jenkins 工作来构建下一个大型 Android 应用程序!我已经安装了 Android SDK,这部分似乎工作正常。我已经在 Jenkins 上安装了 Gradle Plugin v1.24,现在我想我正试图弄清楚如何让 Gradle 真正工作。
第一次尝试是让 Jenkins 自动从 gradle.org 下载特定版本。我正在尝试提取 v2.2.1,因为这似乎是我的 Android 应用程序在本地构建的版本。当我这样做时,我在 Jenkins 工作中遇到了这个错误:
[Gradle] - Launching build.
Invalid tool ID 2.2.1
[Gradle] - [ERROR] Can't retrieve the Gradle executable.
Build step 'Invoke Gradle script' marked build as failure
我尝试了许多不同的版本,但无法正常工作。所以,接下来是告诉 Jenkins 从哪里下载 Gradle。我给了它这个位置:
https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
我在构建时遇到不同的错误,但仍然不太确定该怎么做。
[Gradle] - Launching build.
[Journeyman-Android] $ gradle clean build
FATAL: command execution failed
java.io.IOException: Cannot run program "gradle" (in directory "/var/lib/jenkins/workspace/Journeyman-Android"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:816)
at hudson.Launcher$ProcStarter.start(Launcher.java:382)
at hudson.Launcher$ProcStarter.join(Launcher.java:389)
at hudson.plugins.gradle.Gradle.performTask(Gradle.java:262)
at hudson.plugins.gradle.Gradle.perform(Gradle.java:116)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.Build$BuildExecution.build(Build.java:205)
at hudson.model.Build$BuildExecution.doRun(Build.java:162)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
at hudson.model.Run.execute(Run.java:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 16 more
Build step 'Invoke Gradle script' changed build result to FAILURE
我试图看看我能用 Jenkins CLI 做什么,但这对我来说也失败了。我们使用 Jenkins 成功构建/部署了其他几个项目,因此这是一个有效的 Jenkins 安装。
有人对我可能需要做什么有任何指示或建议吗?
更新(仍然失败)
我可以手动构建我的应用程序,但导航到 jenkins 工作区中我的项目的根目录并执行
./gradlew assemble
【问题讨论】: