我有一个Jenkins服务器 . 它运行在D:\ Jenkins上 .
在我的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文件中使用节点特定的根文件夹?
1 回答
因此该变量似乎特定于主人 . 您可能需要一个环境变量,它指向一个在您的从属设备上一致的位置(如WKSPC_LOC),在Windows环境中设置它并使用类似customWorkspace“$ \ $ ”的内容,请注意你仍然需要在每个奴隶中设置它 . 一般来说,对于CI来说,处理不同的事情会产生问题 . 所以奴隶应该是相同的(一致的) . 截至目前,我认为没有办法为主服务器和从服务器提供不同的工作空间位置 . 在Linux中你可以使用sym链接,但我想不出一个Windows的解决方案,除了我之前提到的,但我仍然怀疑它会工作 .