sekfung
V2EX  ›  问与答

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

  •  
  •   sekfung · May 18, 2020 · 1308 views
    This topic created in 2202 days ago, the information mentioned may be changed or developed.

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

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

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

    6 replies    2020-05-19 12:03:35 +08:00
    julyclyde
        1
    julyclyde  
       May 18, 2020
    猜测可能是 selinux 、apparmor 之类的?
    sekfung
        2
    sekfung  
    OP
       May 18, 2020
    @julyclyde #1 应该不是这个原因 我是在 mac 上直接用代码运行调试
    calmzhu
        3
    calmzhu  
       May 18, 2020 via Android
    1.无法创建的时候报错信息总有吧
    2. 在 jenkins 网页左边 选择节点名字点进去 有个脚本命令行工具。可以直接执行 shell.看下能不能创建
    sekfung
        4
    sekfung  
    OP
       May 19, 2020
    1. 换了一个创建文件的方式,FilePath 提示的报错信息,是 AccessDenied: /Users/xxx,我的 workspace 是 /Users/xxx/jenkins_home/workspace,不明白的点是为啥我改成 777 还是会报 AccessDenied,即使不需要改权限,其他插件都能创建
    2. 直接执行 shell,能够创建
    @calmzhu #3
    calmzhu
        5
    calmzhu  
       May 19, 2020 via Android
    @sekfung 是有点奇怪 路径为什么是 /users/xxx 应该是在 workspsce 下面的。是省略了的意思么。代码执行的时候的当前目录是哪个的
    calmzhu
        6
    calmzhu  
       May 19, 2020 via Android
    @calmzhu 就是怀疑 代码执行的时候没有在正确的 job workspace 目录下面
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1109 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:58 · PVG 01:58 · LAX 10:58 · JFK 13:58
    ♥ Do have faith in what you're doing.