一尘不染

无法在詹金斯奴隶上运行gradle

jenkins

我已经配置了一个jenkins ubuntu奴隶,我想在它上运行我的gradle构建(与gradle插件)。问题是,当运行詹金斯构建工作时,我得到:

 $ 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)

在从属服务器(相同用户)的命令行上运行相同的gradle命令时,它将成功运行。


阅读 216

收藏
2020-07-25

共1个答案

一尘不染

找到了解决方法!我已经开始使用gradle包装器来运行gradle构建。我做了两件事:

  1. 按照本页上的说明创建gradlew(和其他文件)并在我的存储库中进行了检查
  2. 在jenkins gradle插件中标记了使用gradle包装器的构建步骤。

task wrapper(type: Wrapper) { gradleVersion = '2.0' }

上面的这一行将在每次运行gradle build时创建.gradle文件夹并下载所需gradle版本(任务中提到),这意味着
不再需要将.gradle文件夹检 入到存储库中。

还必须将gradlew重命名为gradle.bat,因为jenkins gradle插件甚至试图在Linux上运行gradle.bat。而已。加工。

2020-07-25