Gradle内置docker jenkins slave
我正在尝试创建一个jenkins奴隶来构建gradle lambda项目。Jenkins slave在构建项目时抛出以下错误Gradle内置docker jenkins slave,docker,jenkins,gradle,jenkins-slave,Docker,Jenkins,Gradle,Jenkins Slave,我正在尝试创建一个jenkins奴隶来构建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.zi
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.4版If Gradle,那么可能是
要解决此问题,您可以尝试将Gradle发行版更新到3.5版或更高版本,该问题已在该版本中得到解决。我以sudo的身份运行了该命令,该命令运行良好。要解决此错误:
发生了什么:无法加载本机库“libnative platform.so”,对于Linux amd64。
请执行以下操作:
libnative platform.so
是否存在于该目录中)chmod-R 755~/.gradle
就足够了)-g
或-Gradle user home
选项运行Gradle任务,例如:Gradle clean build
,并传递其值
Ex:如果我运行mkdir/tmp/newG_H_文件夹;gradle clean build-g/tmp/newG_H_文件夹
,您将看到gradle将填充所有必需的文件夹/文件(即使在运行任何任务或任何选项之前,它也需要运行这些文件夹/文件)现在位于这个新的gradle主文件夹中(即/tmp/newG_H_文件夹/.gradle目录)
从该文件夹中,您可以只将本机文件夹复制到用户的~/.gradle文件夹中(如果需要,请先备份~/.gradle中现有的本机文件夹),或者将整个.gradle文件夹复制到您的~.home目录中
然后重新运行Gradle任务,它将不再出错
Gradle docs说:
-g,--gradle用户主页
指定Gradle用户主目录。默认值是用户主目录中的.gradle目录
注意:使用
gradle-g
将始终起作用,因为gradle将在该-g
定义的文件夹中创建新的.gradle缓存,但这样做不会获得gradle缓存概念的真正好处。尝试删除gradle缓存文件夹看起来它无法在工作区内创建.gradle目录。可能是权限问题。尝试使用--info或--debug运行,看看它是否告诉您确切的错误。tyrsudo gradle
你在jenkins的哪里添加sudo?