【发布时间】:2016-03-07 19:15:19
【问题描述】:
这是我的场景:
- 使用 git 作为我的 SCM
- Jenkins Job 在 Linux slave 上运行
- Jenkins master 托管在 Windows 上
我已经配置了两个 Git 安装,如 Jenkins path to git Windows master / Linux slave 中所示。 Git安装设置如下:
- 姓名:
WindowsGit|路径:C:\Program Files\Git\bin\git.exe - 姓名:
LinuxGit|路径:/usr/local/bin/git
因为我需要在 linux slave 上运行作业,所以我的作业 git 配置指向 LinuxGit(Git 可执行选项)。作业运行良好,没有问题。但是,当我尝试使用“轮询 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 从站上运行。
问题: 谁能想到一种方法,我可以为 Source Code Management 配置选择一个 Git 安装,为 Poll SCM 功能选择另一个安装?
【问题讨论】:
-
master有安装git吗?你能调整 PATH 让它在路径中吗?我承认在 linux 上拥有 Jenkins 大师要好得多。我没有任何 Windows 大师可以尝试...
-
是的。我找到了解决方案。使用主安装进行单个 git 安装设置,然后使用节点配置使用 Linux 获取路径覆盖寡妇 git 路径似乎是最佳选择。请参阅我在另一个问题 (35223071) 中的回答。也应该在那里申请。
-
我相信这个问题可以标记为重复。问题略有不同,但答案与使用“管理节点”选项适用于 35223071 的答案相同。
-
把答案移到这里怎么样。这个问题是谷歌友好的。 .