没有权限

发布于 2025-02-06 18:20:27 字数 2607 浏览 2 评论 0原文

我在詹金斯(Jenkins)上创建了一个自由式项目,将另一个项目的文物复制到目录(/home/ubuntu/triench-configuration)。

我已经在我的终端中授予了目录的全部许可 sudo chmod -r 777/home/ubuntu/triench -configuration

但是我总是会收到此错误。:

Started by user Training
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/save-artifact
FATAL: /home/ubuntu/training-configuration
java.nio.file.AccessDeniedException: /home/ubuntu/training-configuration
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
    at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389)
    at java.base/java.nio.file.Files.createDirectory(Files.java:690)
    at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:797)
    at java.base/java.nio.file.Files.createDirectories(Files.java:783)
    at hudson.FilePath.mkdirs(FilePath.java:3609)
    at hudson.FilePath.access$1100(FilePath.java:212)
    at hudson.FilePath$Mkdirs.invoke(FilePath.java:1384)
    at hudson.FilePath$Mkdirs.invoke(FilePath.java:1379)
    at hudson.FilePath.act(FilePath.java:1200)
    at hudson.FilePath.act(FilePath.java:1183)
    at hudson.FilePath.mkdirs(FilePath.java:1374)
    at hudson.plugins.copyartifact.CopyArtifact.copy(CopyArtifact.java:670)
    at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:634)
    at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:518)
    at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
    at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:814)
    at hudson.model.Build$BuildExecution.build(Build.java:199)
    at hudson.model.Build$BuildExecution.doRun(Build.java:164)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:522)
    at hudson.model.Run.execute(Run.java:1896)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
    at hudson.model.ResourceController.execute(ResourceController.java:101)
    at hudson.model.Executor.run(Executor.java:442)
Finished: FAILURE

如:

“

I created a freestyle project on Jenkins to copy artifacts from another project to a directory (/home/ubuntu/training-configuration).

I already gave the directory full permission on my terminal to using
sudo chmod -R 777 /home/ubuntu/training-configuration.

But I always receive this error.:

Started by user Training
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/save-artifact
FATAL: /home/ubuntu/training-configuration
java.nio.file.AccessDeniedException: /home/ubuntu/training-configuration
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
    at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389)
    at java.base/java.nio.file.Files.createDirectory(Files.java:690)
    at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:797)
    at java.base/java.nio.file.Files.createDirectories(Files.java:783)
    at hudson.FilePath.mkdirs(FilePath.java:3609)
    at hudson.FilePath.access$1100(FilePath.java:212)
    at hudson.FilePath$Mkdirs.invoke(FilePath.java:1384)
    at hudson.FilePath$Mkdirs.invoke(FilePath.java:1379)
    at hudson.FilePath.act(FilePath.java:1200)
    at hudson.FilePath.act(FilePath.java:1183)
    at hudson.FilePath.mkdirs(FilePath.java:1374)
    at hudson.plugins.copyartifact.CopyArtifact.copy(CopyArtifact.java:670)
    at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:634)
    at hudson.plugins.copyartifact.CopyArtifact.perform(CopyArtifact.java:518)
    at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
    at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:814)
    at hudson.model.Build$BuildExecution.build(Build.java:199)
    at hudson.model.Build$BuildExecution.doRun(Build.java:164)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:522)
    at hudson.model.Run.execute(Run.java:1896)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
    at hudson.model.ResourceController.execute(ResourceController.java:101)
    at hudson.model.Executor.run(Executor.java:442)
Finished: FAILURE

As in:

error

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

も让我眼熟你 2025-02-13 18:20:28

错误堆栈跟踪包含:

at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:797)
    at java.base/java.nio.file.Files.createDirectories(Files.java:783)
    at hudson.FilePath.mkdirs(FilePath.java:3609)
    at hudson.FilePath.access$1100(FilePath.java:212)

这表明“保存工件”作业是错误配置的,并试图在称为/home/ubuntu/ubuntu/triench-configuration的子文件夹中保存伪像,它试图在内创建/var/lib/jenkins/workspace/save-artifact

或该作业是在/home/ubuntu/training-configuration die 不是 not 退出的代理上执行的,它首先尝试创建源文件夹有权在该代理商身上做)。

相反,请尝试使用“ jenkins存档伪影/在管道中保存文件“来自Gustavo Apolinario:

pipeline {
    agent any
    
    stages {
        stage('Download') {
            steps {
                sh 'mkdir js'
                sh 'echo "not a artifact file" > js/build.js'
                sh 'echo "artifact file" > js/build.min.js'
                
                sh 'mkdir css'
                sh 'echo "not a artifact file" > css/build.css'
                sh 'echo "artifact file" > css/build.min.css'
            }
        }
    }
    post {
        always {
            archiveArtifacts artifacts: '**/*.min.*', onlyIfSuccessful: true
        }
    }
}

The error stack trace includes:

at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:797)
    at java.base/java.nio.file.Files.createDirectories(Files.java:783)
    at hudson.FilePath.mkdirs(FilePath.java:3609)
    at hudson.FilePath.access$1100(FilePath.java:212)

That suggests the "save artifacts" job is misconfigured and tries to save artifacts in a subfolder called /home/ubuntu/training-configuration, that it tries to create inside /var/lib/jenkins/workspace/save-artifact.

Or the job is executed on an agent where /home/ubuntu/training-configuration does not exits, and it starts by trying to create the source folder (which it does not have the right to do on that agent).

Try instead a pipeline like the one described in "Jenkins archive artifact/save file in Pipeline" from Gustavo Apolinario:

pipeline {
    agent any
    
    stages {
        stage('Download') {
            steps {
                sh 'mkdir js'
                sh 'echo "not a artifact file" > js/build.js'
                sh 'echo "artifact file" > js/build.min.js'
                
                sh 'mkdir css'
                sh 'echo "not a artifact file" > css/build.css'
                sh 'echo "artifact file" > css/build.min.css'
            }
        }
    }
    post {
        always {
            archiveArtifacts artifacts: '**/*.min.*', onlyIfSuccessful: true
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文