我已经为Jenkins安装了Gradle插件.当我尝试构建项目时,我收到以下错误:
[workspace] $ gradle clean -b build/build.gradle
FATAL: command execution failed
java.io.IOException: Cannot run program "gradle" (in directory "/Users/Shared/Jenkins/Home/jobs/test/workspace"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:707)
    at hudson.Launcher$ProcStarter.start(Launcher.java:338)
    at hudson.Launcher$ProcStarter.join(Launcher.java:345)
    at hudson.plugins.gradle.Gradle.performTask(Gradle.java:201)
    at hudson.plugins.gradle.Gradle.perform(Gradle.java:97)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
    at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:695)
    at hudson.model.Build$RunnerImpl.build(Build.java:178)
    at hudson.model.Build$RunnerImpl.doRun(Build.java:139)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:465)
    at hudson.model.Run.run(Run.java:1404)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
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:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:91)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 16 more
Build step 'Invoke Gradle script' changed build result to FAILURE
Build step 'Invoke Gradle script' marked build as failure
Finished: FAILURE
$ gradle clean -b build/build.gradle从命令行运行任务按预期工作.
Mas*_*ect 65
我有同样的问题,发现我的问题是项目配置中的gradle版本.它被设置为默认值,当我将其设置为gradle版本时,我指向管理Jenkins > 配置选项中的插件配置,它找到了gradle并正常工作.
这是一个难以调试的问题,我希望这能节省一些时间.
小智 21
解决方案Mastering_the_Object也指出了我的工作,只是为了澄清那里的步骤:
只是在Jenkins中安装Gradle插件是不够的,你还必须去:
Jenkins-> Manage Jenkins->配置Jenkins->配置系统.
在"Gradle Installations"下输入名称(在项目配置中显示为版本),选中"自动安装"并选择版本.然后,您可以在项目配置中选择"Gradle版本".
Mat*_*ess 14
我使用Gradle包装器得到了这个错误,能够修复我的破坏的构建如下:
Jol*_*lta 13
在Jenkins等CI机器上运行Gradle时,最方便的是使用Gradle Wrapper.
在您的开发计算机上,站在根项目目录中并运行
gradle wrapper
然后,将生成的文件签入源控制系统.之后,如果需要更改Gradle版本,则无需在Jenkins服务器上安装任何内容.只需像这样配置你的Jenkins工作:

从Gradle用户指南引用:
通过在项目中分发包装器,任何人都可以使用它而无需事先安装Gradle.更好的是,构建的用户可以保证使用构建旨在使用的Gradle版本.当然,这对于持续集成服务器(即定期构建项目的服务器)也很有用,因为它不需要在服务器上进行配置.
| 归档时间: | 
 | 
| 查看次数: | 60138 次 | 
| 最近记录: |