在工作流脚本中与Jenkins Slave共享文件夹

时间:2016-01-14 16:19:15

标签: jenkins virtualbox jenkins-workflow

我在访问OS X Jenkins主服务器和Windows VM从服务器之间的共享文件夹时遇到了一些问题。

  • 该设置是运行Jenkins的OS X主机,并使用VirtualBox托管Windows VM从属设备。
  • Jenkins slave作为Windows服务运行,自动登录为Jenkins Slave用户。
  • 通过VirtualBox,已在两个映射到Windows奴隶上的驱动器E:之间建立了共享文件夹。

从主人那里我试图在一个常规的工作流脚本中在slave上的共享文件夹中执行批处理脚本。

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

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

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

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

任何人都可以了解问题所在吗?

2 个答案:

答案 0 :(得分:1)

所以答案是使用UNC路径。

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

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

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

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

答案 1 :(得分:0)

您是否尝试使用UNC路径?

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

奴隶是E:还是C: