所以我有一个linux节点上的詹金斯主,并使用windows代理的一些工作。我正在使用工作流插件。脚本看起来像这样就代理使用而言。
node('windows_agent'){
stage name: 'SCM checkout'
//groovy code to checkout repo with app's source code with polling enabled (by using the Git.exe 1.9 for Windows)
// Another groovy code to checkout repo with Jenkins's workflow source code withOUT polling enabled
stage name: '......'
// continues
.
.
.
.
}
在作业配置页面中,我选择了'Pipeline script from SCM'
并指定了jenkins工作流存储库的git URL。它还将进行投票每5分钟使用Git的Linux(因为我必须选择一个)。我选择了linux git,因为master是linux的一个节点。现在,git轮询失败了源代码repo,因为它试图在Linux节点中使用Windows的git.exe。如果我将这个git可执行文件改为使用groovy代码中linux的可执行文件,实际的工作流执行Will在尝试签出Windows代理中的代码时失败。
您需要使用一个带有特定windows工具实例的签出步骤。