运行jenkins作业时,控制台报此错误:
java.nio.file.DirectoryNotEmptyException: C:\jenkins\jobs\My Job\lastSuccessful
at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown Source)
at java.nio.file.Files.deleteIfExists(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at hudson.Util.createSymlinkJava7(Util.java:1194)
at hudson.Util.createSymlink(Util.java:1112)
at hudson.model.Run.createSymlink(Run.java:1846)
at hudson.model.Run.updateSymlinks(Run.java:1827)
at hudson.model.Run.execute(Run.java:1738)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
ln builds\lastStableBuild C:\jenkins\jobs\My Job\lastStable failed
java.nio.file.DirectoryNotEmptyException: C:\jenkins\jobs\My Job\lastStable
at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown Source)
at java.nio.file.Files.deleteIfExists(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at hudson.Util.createSymlinkJava7(Util.java:1194)
at hudson.Util.createSymlink(Util.java:1112)
at hudson.model.Run.createSymlink(Run.java:1846)
at hudson.model.Run.updateSymlinks(Run.java:1828)
at hudson.model.Run.execute(Run.java:1738)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
这是一个错误还是我需要修复的问题?
就我而言,当将 Jenkins 从一台服务器移动到另一台服务器时,就会出现此问题。似乎在复制主文件夹时出现此问题。
In this link https://cloudbees.zendesk.com/hc/en-us/articles/215281777-After-creating-a-copy-of-the-local-Jenkins-home-lastSuccessful-fails-with-java-nio-file-DirectoryNotEmptyException解释如何修复这些错误的目录。我将步骤复制在这里以供将来参考:
# Logon on the master where you have the issue
ssh jenkins-machine
# Shutdown the jenkins master (take care that nothing is running)
sudo service jenkins stop
# Find all erroneous directories
find /opt/jenkins/jobs -type d \( -name "last*Build" -o -name "lastStable" -o -name "lastSuccessful" \)
# Review the list of erroneous directories
# Rename them
find /opt/jenkins/jobs -type d \( -name "last*Build" -o -name "lastStable" -o -name "lastSuccessful" \) -exec mv {} {}.err \;
# Restart jenkins
sudo service jenkins start
如果有效,请删除移动的目录:
#In the future you can delete these directory if everything is fine with
find /opt/jenkins/jobs -type d -name "*.err" -exec rm -rf {} \;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)