我有一个Jenkins服务器。它在D:\ Jenkins上运行。
在我的詹金斯文件中,我有以下内容:
pipeline {
agent {
node{
label 'windows-node'
customWorkspace "${JENKINS_HOME}\\${env.BRANCH_NAME}"
}
}
//...
}
这工作正常,并尝试使用D:\ jenkins \ feature \ testbranch(例如)。
我现在设置一个新节点,它只有一个磁盘C:\
远程节点的Remote root directory
配置为C:/ws
。因此,我期望我的输出文件夹为C:/ws/feature/testbranch
。
但是似乎它试图访问远程节点上的D:\jenkins\feature\testbranch
。如何在Jenkins文件中使用特定于节点的根文件夹?
答案 0 :(得分:0)
因此该变量似乎是特定于母版的。您可能需要一个环境变量,该变量将指向您的从属服务器上一致的位置(例如WKSPC_LOC),在Windows环境中进行设置,并使用诸如customWorkspace“ $ {WKSPC_LOC} \ $ {env.BRANCH_NAME}”之类的东西,请注意,您仍然需要在每个从站中进行设置。通常,对于CI,将不同的事物相同地对待会产生问题。因此,一个从站应该是相同的(一致的)。到目前为止,我认为没有办法为主服务器和从服务器设置不同的工作区位置。在Linux中,您可能已经使用了符号链接,但是除了我之前提到的内容之外,我没有想到Windows的解决方案,但是我仍然怀疑它是否可以工作。