V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sekfung
V2EX  ›  问与答

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

  •  
  •   sekfung · 2020-05-18 15:17:11 +08:00 · 941 次点击
    这是一个创建于 1649 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    6 条回复    2020-05-19 12:03:35 +08:00
    julyclyde
        1
    julyclyde  
       2020-05-18 16:51:23 +08:00
    猜测可能是 selinux 、apparmor 之类的?
    sekfung
        2
    sekfung  
    OP
       2020-05-18 16:57:37 +08:00
    @julyclyde #1 应该不是这个原因 我是在 mac 上直接用代码运行调试
    calmzhu
        3
    calmzhu  
       2020-05-18 20:07:32 +08:00 via Android
    1.无法创建的时候报错信息总有吧
    2. 在 jenkins 网页左边 选择节点名字点进去 有个脚本命令行工具。可以直接执行 shell.看下能不能创建
    sekfung
        4
    sekfung  
    OP
       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
        5
    calmzhu  
       2020-05-19 12:02:18 +08:00 via Android
    @sekfung 是有点奇怪 路径为什么是 /users/xxx 应该是在 workspsce 下面的。是省略了的意思么。代码执行的时候的当前目录是哪个的
    calmzhu
        6
    calmzhu  
       2020-05-19 12:03:35 +08:00 via Android
    @calmzhu 就是怀疑 代码执行的时候没有在正确的 job workspace 目录下面
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2768 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:39 · PVG 21:39 · LAX 05:39 · JFK 08:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.