以下是我的情景:
我已按照Jenkins path to git Windows master / Linux slave中的说明配置了两个Git安装。 Git安装设置如下:
WindowsGit
|路径:C:\Program Files\Git\bin\git.exe
LinuxGit
|路径:/usr/local/bin/git
因为我需要在linux slave上运行作业,我的作业git配置指向LinuxGit(Git可执行选项)。工作运行良好,没有问题。但是,当我尝试使用“Poll SCM”选项时,它会中断。我相信这里的问题是因为Poll SCM在Windows Master上运行,而这项工作的Git信息指向LinuxGit。 Git Polling Log显示:
Caused by: java.io.IOException: Cannot run program "/usr/local/bin/git": CreateProcess error=2, The system cannot find the file specified
另一方面,如果我选择WindowsGit,Git Polling Log就可以了,但是作业本身显然会失败,因为它在Linux Slave上运行。
问题: 任何人都可以考虑一种方法,我可以为源代码管理配置选择一个Git安装,为民意调查SCM 功能选择另一个?
答案 0 :(得分:2)
根据要求,我发布了自己的一般想法答案,在使用git时将Master / Slave上的Windows / Linux混合使用。这个解决方案甚至允许在多个Windows / Linux从属组合上运行相同的工作,并且不会破坏Master polling scm:
无论您使用哪种Jenkins Master平台,都要将默认的git安装配置为指向该平台的有效git。例如,Windows c:\apps\git\bin\git.exe
。然后配置自定义" 工具位置"对于每个节点。通过这种方式,主设备将能够轮询git以检查更改并在从设备上触发作业。然后Slave将能够克隆git代码,因为它具有(Git)Default 的自定义位置。正确配置的步骤:
/usr/local/bin/git
)linux从属节点的节点配置应如下所示:
我相信额外的" git装置"正如@Jayan所提到的,当你需要有多个git安装或者你需要为某些Jenkins作业运行特定版本的git时更合适。