无法在jenkins奴隶上运行gradle [英] Can't run gradle on jenkins slave
问题描述
我配置了一个jenkins ubuntu slave,我想运行我的gradle build(使用gradle插件)。问题是,当运行jenkins构建作业时,我得到:
$ gradle --no-daemon --info clean build
FATAL:命令执行失败
java.io.IOException:无法运行程序gradle(在目录/ var / jenkins / workspace / dadi中):java.io.IOException:error = 2,No这样的文件或目录
在java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
在hudson.Proc $ LocalProc。< init>(Proc.java:244)
at hudson.Proc $ LocalProc。< init>(Proc.java:216)
运行相同gradle命令在从属服务器(同一用户)的命令行上运行成功。
找到解决方法!
我已经开始使用gradle包装来运行gradle构建。
我做了两件事:
- 按照页面创建gradlew(和其他文件)并在我的存储库中检查它们
-
in jenkins gradle插件标记构建步骤使用gradle包装。
任务包装(类型:包装){
gradleVersion ='2.0'
$ b上面这行代码会创建
.gradle
资料夹&每次运行gradle build时都需要下载gradle
版本(在任务中提到),这意味着不需要签入.gradle文件夹再到你的仓库。
由于jenkins gradle插件甚至在linux上运行gradle.bat,所以还必须将gradlew重命名为gradle.bat。
就是这样。工作。I've configured a jenkins ubuntu slave and I want to run my gradle build on it(with gradle plugin). The problem is that when running the jenkins build job I get:
$ gradle --no-daemon --info clean build FATAL: command execution failed java.io.IOException: Cannot run program "gradle" (in directory "/var/jenkins/workspace/dadi"): java.io.IOException: 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)
When running the same gradle command on the command line of the slave(same user) it runs successfully.
解决方案Found a workaround solution! I've start using gradle wrapper in order to run the gradle build. I did 2 things:
- followed instructions on this page to create gradlew (and other files) and checked them in my repository
in jenkins gradle plugin marked the build step to use gradle wrapper.
task wrapper(type: Wrapper) { gradleVersion = '2.0' }
This above line would create
.gradle
folder & download requiredgradle
version(mentioned in the task) every time gradle build is run, that means there is no need to check-in .gradle folder into your repository anymore.Also had to rename gradlew to gradle.bat since the jenkins gradle plugin try to run the gradle.bat even on linux. That's it. working.
这篇关于无法在jenkins奴隶上运行gradle的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!