gpt4 book ai didi

git - Jenkins Poll SCM (Git) o​​n Windows master/Build on Linux slave

转载 作者:太空狗 更新时间:2023-10-29 14:12:05 29 4
gpt4 key购买 nike

这是我的场景:

  • 使用 git 作为我的 SCM
  • Jenkins Job 在 Linux slave 上运行
  • Jenkins master 托管在 Windows 上

我已经按照 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 轮询日志显示:

Caused by: java.io.IOException: Cannot run program "/usr/local/bin/git": CreateProcess error=2, 系统找不到指定的文件

另一方面,如果我选择 WindowsGit,Git 轮询日志很好,但作业本身显然会失败,因为它在 Linux 从属服务器上运行。

问题:谁能想出一种方法,我可以为 Source Code Management 配置选择一个 Git 安装,为 Poll SCM 功能选择另一个 Git 安装?

最佳答案

根据要求,我发布了我自己对一般想法的回答,以便在使用 git 时在主从上混合 Windows/Linux。该解决方案甚至允许在 Windows/Linux 从的多个混合上运行相同的作业,并且不会破坏主轮询 scm:

无论您的 Jenkins Master 平台是什么,请将默认的 git 安装配置为指向该平台的有效 git。例如,适用于 Windows 的 c:\apps\git\bin\git.exe。然后为每个节点配置自定义“工具位置”。这样,master 将能够轮询 git 以检查更改并触发 slave 上的作业。然后,Slave 将能够克隆 git 代码,因为它具有 (Git) Default 的自定义位置。正确配置的步骤:

  1. 管理 Jenkins > 管理节点
  2. 对于除“Git 安装”中提供的 git 位置之外的每个节点,执行:
    1. 打开节点配置页面(配置图标)
    2. 如果尚未选中,请选中“工具位置”
    3. 点击“添加”
    4. 在下 pull 列表中选择“(Git) 默认”
    5. 输入slave节点git安装路径(如/usr/local/bin/git)
    6. 保存
  3. 为作业可能运行的每个 Linux 从站重复步骤 2.1 到 2.5。

linux 从属节点的节点配置应如下所示:

slave node configuration

我相信额外的“git 安装”更适合,正如@Jayan 提到的,当您需要安装多个 git 或出于某种原因需要运行特定版本的 git 以选择 Jenkins 作业时。

关于git - Jenkins Poll SCM (Git) o​​n Windows master/Build on Linux slave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852047/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com