以下是我收到的错误消息。主人在OpenSUSE上运行,我的Jenkins版本是“Jenkins ver.1.466.12.1(Jenkins Enterprise by CloudBees 12.11)”。
我已经验证我可以在/ mnt / jenkinsbackup的linux框中创建一个文件。这是用户权限问题吗?
在工作区/ var / lib / jenkins / jobs / Jenkins备份/工作区中的master上构建 java.io.FileNotFoundException:/ mnt / jenkinsbackup / backup-Jenkins Backup-19.tar.gz(权限被拒绝) at java.io.FileOutputStream.open(Native Method) 在java.io.FileOutputStream。(FileOutputStream.java:209) 在java.io.FileOutputStream。(FileOutputStream.java:160) 在com.infradna.hudson.plugins.backup.store.LocalFileStore $ 1._backup(LocalFileStore.java:50) 在com.infradna.hudson.plugins.backup.store.BackupFile.backup(BackupFile.java:25) 在com.infradna.hudson.plugins.backup.BackupBuilder.perform(BackupBuilder.java:95) 在hudson.tasks.BuildStepMonitor $ 1.perform(BuildStepMonitor.java:19) 在hudson.model.AbstractBuild $ AbstractRunner.perform(AbstractBuild.java:710) 在hudson.model.Build $ RunnerImpl.build(Build.java:178) 在hudson.model.Build $ RunnerImpl.doRun(Build.java:139) 在hudson.model.AbstractBuild $ AbstractRunner.run(AbstractBuild.java:480) 在hudson.model.Run.run(Run.java:1438) 在hudson.model.Build.run(Build.java:110) 在hudson.model.ResourceController.execute(ResourceController.java:88) 在hudson.model.Executor.run(Executor.java:239) 构建步骤'备份'将构建结果更改为FAILURE 完成:失败
编辑:我忘了提到我正在运行jenkins作为守护进程而不是用户。
答案 0 :(得分:1)
权限问题源于已挂载的网络文件夹。只有root才有权写入它。我在互联网上找到的一个建议就是将文件夹的所有权更改为jenkins:nogroup(因为这是Jenkins大师正在运行的那个),但是你不能对挂载的文件夹这样做。
但这导致我在首先安装文件夹时更改权限。我知道我可以做到这一点:
mount -t cifs // network_folder_path / jenkins / mnt / jenkins -o username = USERNAME,password = XXXX,dir_mode = 0777,file_mode = 0777
安装了具有每个人写入权限的文件夹,并且该作业能够运行。
答案 1 :(得分:0)
堆栈跟踪确实说权限错误 - 所以jenkins应用程序可能作为与您验证的用户不同的用户运行,可以读取和写入该目录吗?