繁体   English   中英

Jenkins 管道 writeJSON 抛出 AccessDeniedException

[英]Jenkins pipeline writeJSON throwing AccessDeniedException

在我的管道中调用 writeJson 时,出现以下错误:

java.nio.file.AccessDeniedException:/home/jenkins/agent/workspace/AAA/benchmarks/test/test.json 在 sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)在 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) 在 java.nio.file.Files.newOutputStream(Files.java:216) 在 hudson.FilePath$WritePipe.invoke(FilePath.8821324:623288:923586) WritePipe.invoke(FilePath.java:2320) 在 hudson.FilePath$FileCallableWrapper.call(FilePath.java:3329) 在 hudson.remoting.UserRequest.perform(UserRequest.java:211) 在 hudson.remoting.UserRequest(UserRequest) .java:54) 在 hudson.r emoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at 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 ) 在 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 字符串没问题,知道吗?

该问题是由使用创建目录引起的

sh "mkdir -p mydir"

然后在管道中调用:

dir ("mydir") {
   writeJSON file: "${result.file}", json: result, pretty:4
}

这导致了 AccessDeniedException 异常

只需删除 sh 命令并将目录创建委托给 dir("mydir") 即可解决问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM