当前位置: 首页 > 面试题库 >

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

伯庆
2023-03-14
问题内容

我已经配置了一个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命令时,它将成功运行。


问题答案:

找到了解决方法!我已经开始使用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。而已。加工。



 类似资料:
  • 我有一个詹金斯大师,能够从CodeCommit中提取代码。我还设置了一个jenkins slave,这个项目有一个Dockerfile来构建一个图像。当我尝试执行shell命令时, 我得到以下错误:

  • 我想在詹金斯增加一个奴隶。我遵循了https://wiki.jenkins-ci.org/display/jenkins/step+by+step+guide+to+set+up+master+和+slave+machines中的步骤。 有什么想法可能会出问题吗? 我检查过了,我确实有连接权限。

  • 我有一个jenkins管道,它加载如下groovy实用程序脚本: 当我在主节点上执行管道时,一切都很好。在这种情况下,我可以在管道中使用类Utils中的方法。 当我试图在一个从系统中执行管道时,我的问题出现了。在这种情况下,上述负载会导致错误 Java语言io。IOException:java。io。FileNotFoundException:/var/lib/jenkins/utils/util

  • 经过阅读,我明白了我必须有一个Jenkins主机在场,才能通过Git网络钩子在OpenShift上产生一个Jen金斯奴隶。但是有没有办法在没有詹金斯主人的情况下产生詹金斯奴隶呢? 非常感谢大家!

  • 我希望使用Jenkins创建一个CI/CD管道,其中我希望添加一个K8s主节点作为Jenkins主设置的从节点。我的问题是这是个好主意吗?我计划在其中一个主服务器上创建一个用户名Jenkins,将kubeconfig复制给用户,将主服务器连接到这个节点,然后从这个节点运行所有的Kubernetes部署。 有没有更好的办法做到这一点?

  • 对于实际的JNLP连接,如何强制jenkins从机通过其run命令连接到内部主机名? null