如何在Jenkins上为远程节点指定自定义路径?

时间:2018-12-10 10:22:06

标签: jenkins jenkins-pipeline multibranch-pipeline

我有一个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文件中使用特定于节点的根文件夹?

1 个答案:

答案 0 :(得分:0)

因此该变量似乎是特定于母版的。您可能需要一个环境变量,该变量将指向您的从属服务器上一致的位置(例如WKSPC_LOC),在Windows环境中进行设置,并使用诸如customWorkspace“ $ {WKSPC_LOC} \ $ {env.BRANCH_NAME}”之类的东西,请注意,您仍然需要在每个从站中进行设置。通常,对于CI,将不同的事物相同地对待会产生问题。因此,一个从站应该是相同的(一致的)。到目前为止,我认为没有办法为主服务器和从服务器设置不同的工作区位置。在Linux中,您可能已经使用了符号链接,但是除了我之前提到的内容之外,我没有想到Windows的解决方案,但是我仍然怀疑它是否可以工作。