在我的管道中调用writeJson时,我将得到以下错误:
/home/jenkins/agent/workspace/AAA/benchmarks/test/test.json at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434) at java.nio.filehudson.FilePath$WritePipe.invoke(FilePath.java:2326) at hudson.FilePath$WritePipe.invoke(FilePath.java:2320) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3329) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run( java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:117) at java.lang.Thread.run(Thread.java:748) )
下面是我打给writeJSON的电话
dir ("benchmarks/updated") {
for(result in results) {
echo "writing updates in file: ${result.file}"
echo "result is: ${result}"
writeJSON file: "${result.file}", json: result, pretty:4
}
}我确保了我的文件路径和json字符串都很好,知道吗?
发布于 2022-04-14 16:12:37
此问题是由于创建一个目录而引起的。
sh "mkdir -p mydir"然后在管道中调用:
dir ("mydir") {
writeJSON file: "${result.file}", json: result, pretty:4
}这导致了AccessDeniedException异常
只需删除sh命令并将目录创建委托给dir("mydir")就可以解决这个问题。
https://stackoverflow.com/questions/71874654
复制相似问题