写 Jenkins 插件,遇到一个在 slave 节点无法创建文件的问题

2020-05-18 15:17:11 +08:00
 sekfung

在 master 运行正常,在 slave 节点无法创建文件

代码执行 file.mkdirs() || file.mkdir() 都失败,怀疑是权限问题,于是把 slave 节点的工作目录(包括它的上级目录)都改成 777 权限,依然是无法创建。

奇就奇怪在,其他官方插件比如 git subversion,即使不改权限也能在 slave 节点克隆代码,想了很久想不明白我写的插件问题出在哪里

896 次点击
所在节点    问与答
6 条回复
julyclyde
2020-05-18 16:51:23 +08:00
猜测可能是 selinux 、apparmor 之类的?
sekfung
2020-05-18 16:57:37 +08:00
@julyclyde #1 应该不是这个原因 我是在 mac 上直接用代码运行调试
calmzhu
2020-05-18 20:07:32 +08:00
1.无法创建的时候报错信息总有吧
2. 在 jenkins 网页左边 选择节点名字点进去 有个脚本命令行工具。可以直接执行 shell.看下能不能创建
sekfung
2020-05-19 10:40:19 +08:00
1. 换了一个创建文件的方式,FilePath 提示的报错信息,是 AccessDenied: /Users/xxx,我的 workspace 是 /Users/xxx/jenkins_home/workspace,不明白的点是为啥我改成 777 还是会报 AccessDenied,即使不需要改权限,其他插件都能创建
2. 直接执行 shell,能够创建
@calmzhu #3
calmzhu
2020-05-19 12:02:18 +08:00
@sekfung 是有点奇怪 路径为什么是 /users/xxx 应该是在 workspsce 下面的。是省略了的意思么。代码执行的时候的当前目录是哪个的
calmzhu
2020-05-19 12:03:35 +08:00
@calmzhu 就是怀疑 代码执行的时候没有在正确的 job workspace 目录下面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672898

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX