Android Jenkins使用Gradle can';找不到可执行文件
我正试图建立一个詹金斯的工作,以建立下一个大的Android应用程序!我已经安装了Android SDK,这部分似乎工作正常。我已经在Jenkins上安装了Gradle插件v1.24,现在我想我正试图弄清楚如何让Gradle真正工作 第一次尝试是让詹金斯从gradle.org自动下载特定版本。我正在尝试使用v2.2.1,因为这似乎是我的Android应用程序在本地构建的版本。当我这样做时,我在詹金斯的工作中遇到了以下错误:Android Jenkins使用Gradle can';找不到可执行文件,android,jenkins,gradle,Android,Jenkins,Gradle,我正试图建立一个詹金斯的工作,以建立下一个大的Android应用程序!我已经安装了Android SDK,这部分似乎工作正常。我已经在Jenkins上安装了Gradle插件v1.24,现在我想我正试图弄清楚如何让Gradle真正工作 第一次尝试是让詹金斯从gradle.org自动下载特定版本。我正在尝试使用v2.2.1,因为这似乎是我的Android应用程序在本地构建的版本。当我这样做时,我在詹金斯的工作中遇到了以下错误: [Gradle] - Launching build. Invalid
[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
我尝试了许多不同的版本,但都无法实现。所以,接下来是告诉詹金斯从哪里下载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作业以使用而不是特定的Gradle版本。一旦我这样做了,我还有一些错误要筛选,但它们都非常有用,并且给了我解决它们所需的信息。我下载了Gradle。 被抽到某个地方 在Jenins>管理Jenkins>Gradle中 取消选中“自动安装” 设置gradle home的路径(例如:C:\Graddle\gradle-2.1)
问题已解决。对于在linux上运行的Jenkins:
如果先前使用
Invoke Gradle script
选项配置了构建,并选择了特定的Gradle版本
(例如2.4),他启动了构建,但后来切换到Use Gradle Wrapper
选项,而没有将Gradle Version
值重置回默认值。詹金斯将发布
[Gradle]-[ERROR]无法检索Gradle可执行文件
正如本文所记录的,这是一个詹金斯的错误
解决方法是在切换到使用渐变包装之前,将渐变版本
重置为默认值
,这将帮助您消除无效的工具问题:
管理Jenkins->管理插件->高级:点击页面右下角的“立即检查”按钮。在Jenkins的旧版本(v1.609)上,我不得不删除“Gradle构建脚本”步骤,并重新创建它:-O如果您将Gradle包装任务添加到Gradle构建文件中,它将减轻您手动下载的痛苦,包装器任务将完成它
./gradlew assemble