【问题标题】:Sharing Folder with Jenkins Slave in Workflow Script在工作流脚本中与 Jenkins Slave 共享文件夹
【发布时间】:2023-04-10 07:15:01
【问题描述】:

我在访问 OS X Jenkins master 和 Windows VM slave 之间的共享文件夹时遇到了一些问题。

  • 设置是运行 Jenkins 并使用 VirtualBox 托管 Windows VM 从属的 OS X 主机。
  • Jenkins 从站作为 Windows 服务运行,并以 Jenkins 从站用户身份自动登录。
  • 已通过 VirtualBox 在 Windows 从站上映射到驱动器 E: 的两者之间设置了一个共享文件夹。

我正在尝试在一个常规的工作流脚本中在从属上的共享文件夹中执行批处理脚本。

node("Windows") {
    bat("E:\\some\\path\\thingy.bat")
}

当我尝试运行它时,我得到The system cannot find the drive specified.

如果我以 Jenkins Slave 用户身份登录从属 VM 并尝试做同样的事情,一切正常。

我已经确认,我在工作流脚本中作为同一个 Jenkins Slave 用户运行,但由于某种原因,代表共享文件夹的 E: 驱动器不可见。

谁能说明问题可能是什么?

【问题讨论】:

    标签: jenkins virtualbox jenkins-workflow


    【解决方案1】:

    所以答案是使用 UNC 路径。

    当我在仅指定服务器名称而不是共享文件夹本身的名称之前尝试此操作时。

    因此,如果您的共享文件夹被称为“共享”,那么

    \\VBOXSVR\ (Doesn't work)
    \\VBOXSVR\shared (Does work)
    

    有点愚蠢的错误,但你去吧。

    【讨论】:

      【解决方案2】:

      您是否尝试过使用 UNC 路径?

      您是否检查过 Groovy 字符串中的 \ 是否正确转义?

      从属根是E: 还是C:

      【讨论】:

      • 我尝试了 UNC,但我收到服务器无法识别的消息,我检查了斜杠是否正确转义。 slave和master之间的份额是E:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      相关资源
      最近更新 更多