我正在尝试设置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
答案 0 :(得分:5)
终于明白了。我需要更新我的jenkins作业以使用Gradle wrapper而不是特定的Gradle版本。一旦我这样做了,我还有一些错误要筛选,但它们都非常有用,并且给了我解决它们所需的信息。
答案 1 :(得分:3)
我下载了Gradle。 提取到某个地方。
在杰宁斯&gt;管理Jenkins&gt; Gradle
取消选中自动安装。
将路径设置为gradle home,(例如:C:\ Graddle \ gradle-2.1)。
Probelm解决了。
答案 2 :(得分:2)
对于在Linux上运行的Jenkins:
下载gradle zip文件
cd / opt /
wget https://services.gradle.org/distributions/gradle-2.10-all.zip
解压缩
解压缩gradle-2.10-all.zip
访问詹金斯网站
詹金斯&gt;管理Jenkins&gt;配置系统&gt; Gradle&gt; Gradle安装
取消选中自动安装,将2.10设置为name,将/opt/gradle-2.10设置为GRADLE_HOME。
点击你的工作
配置&gt;构建&gt;调用Gradle脚本
选择Invoke Gradle,在Gradle Version下拉列表中选择2.10。
答案 3 :(得分:1)
如果之前使用Invoke Gradle script
选项配置了构建并选择了特定的Gradle Version
(例如2.4),则他启动了构建但后来切换到Use Gradle Wrapper
选项而不重置{ {1}}返回Gradle Version
。
[Gradle] - [ERROR]无法检索Gradle可执行文件。
这是一个詹金斯&#39;这个post记录的错误。
解决方法是在切换到Default
之前将Gradle Version
重置为Default
。
答案 4 :(得分:0)
这有助于您删除无效的工具问题:
管理Jenkins - &gt;管理插件 - &gt;高级:点击&#34;立即检查&#34;页面底部/右侧的按钮。
答案 5 :(得分:0)
在旧版本的Jenkins(v1.609)上,我不得不删除“ Gradle build script”步骤,然后重新创建它:-O