Gradle建造在码头工人jenkins奴隶

时间:2018-01-26 06:53:40

标签: docker jenkins gradle jenkins-slave

我正在尝试创建一个jenkins slave来构建gradle lambda项目。 Jenkins slave在构建项目时抛出了以下错误。

Exception in thread "main" java.lang.RuntimeException: Could not create parent directory for lock file /gradle/wrapper/dists/gradle-4.2.1-bin/dajvke9o8kmaxbu0kc5gcgeju/gradle-4.2.1-bin.zip.lck
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:43)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
/home/jenkins/workspace/ddoa-subprod/lf-security-gateway2/lf-security-gateway2

FAILURE: Build failed with an exception.

* What went wrong:
Failed to load native library 'libnative-platform.so' for Linux amd64.

请帮助我理解这个问题,让我知道如何解决这个问题。

3 个答案:

答案 0 :(得分:1)

如果您使用的是Gradle版本3.4,那么它可能是this issue

要解决此问题,您可以尝试将Gradle分发版更新到版本3.5或更高版本,此问题已解决。

答案 1 :(得分:1)

要纠正此错误:MyTestClass请执行以下操作:

  1. 检查您的Gradle缓存(是否根本存在**〜user / .gradle / ** native文件夹)。
  2. 检查您的Gradle缓存(〜user / .gradle / native 文件夹是否存在,并且所涉及的文件,即y是否在该目录中)。
  3. 检查上述文件夹 〜user / .gradle 还是 〜/ .gradle / native 或文件: 〜/ .gradle / native / libnative-platform.so 具有有效权限(应读为-只需运行What went wrong: Failed to load native library 'libnative-platform.so' for Linux amd64.就足够了。

如果您根本看不到本机文件夹,或者如果本机文件夹似乎已损坏,请使用libnative-platform.sochmod -R 755 ~/.gradle选项运行gradle clean build的Gradle任务并传递其值。

示例::如果我运行-g,将会看到Gradle将填充所有必需的文件夹/文件(甚至在运行任何任务或任何选项之前都需要运行)。现在位于这个新的Gradle主文件夹中(即 /tmp/newG_H_Folder/.gradle 目录)。

从该文件夹中,您可以将 本地 文件夹只是复制到用户的〜/ .gradle文件夹(获取现有本机文件的备份文件夹(如果需要的话,请先放在〜/ .gradle中))-或将整个 .gradle 文件夹复制到您的〜(主目录)中。

然后重新运行Gradle任务,它将不再出错。

Gradle文档说: https://docs.gradle.org/current/userguide/command_line_interface.html

-g,--gradle-user-home 指定Gradle用户的主目录。默认值为用户主目录中的.gradle目录。

注意:使用--gradle-user-home始终可以工作,因为Gradle会在该mkdir /tmp/newG_H_Folder; gradle clean build -g /tmp/newG_H_Folder定义的文件夹中创建新的.gradle缓存,但是这样做不会获得Gradle缓存概念的真正好处。 / p>

答案 2 :(得分:0)

我以sudo的身份运行命令,它经历了很好的