当前位置: 首页 > 面试题库 >

Windows主服务器上的Jenkins Poll SCM(Git)/在Linux从服务器上构建

赫连俊雄
2023-03-14
问题内容

这是我的情况:

  • 使用git作为我的SCM
  • Jenkins Job在Linux从站上运行
  • Jenkins主服务器托管在Windows上

我已经[按照git Windows master / Linuxslave的Jenkins路径中的](指示配置了两个Git安装。Git安装设置如下:

  • 名称:WindowsGit| 路径:C:\Program Files\Git\bin\git.exe
  • 名称:LinuxGit| 路径:/usr/local/bin/git

因为我需要在linux从属服务器上运行作业,所以我的作业git配置指向LinuxGit(Git可执行文件选项)。工作顺利,没有问题。但是,当我尝试使用“轮询SCM”选项时,它会中断。我相信这里的问题是因为Poll
SCM在Windows Master上运行,并且此作业的Git信息指向LinuxGit。Git轮询日志显示:

Caused by: java.io.IOException: Cannot run program "/usr/local/bin/git": CreateProcess error=2, The system cannot find the file specified

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

问题:谁能想到我可以为 源代码管理 配置选择一个Git安装,为 Poll SCM 功能选择另一种安装方法?


问题答案:

根据要求,我将发布自己对总体想法的答案,以便在使用git时在Master Slave上混合Windows / Linux。此解决方案甚至可以在Windows/ Linux从属服务器的多个混合上运行相同的作业,并且不会破坏Master poll scm:

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

  1. 管理詹金斯>管理节点
  2. 对于除“ Git安装”中提供的位置以外的每个具有git位置的节点,请执行以下操作:
    1. 打开节点配置页面(“配置”图标)
    2. 如果尚未检查,请检查“工具位置”
    3. 点击“添加
    4. 在下拉菜单中选择“(Git)默认”
    5. 输入从节点git安装的路径(例如/usr/local/bin/git
    6. 保存
  3. 对作业可以运行的每个Linux从属重复步骤2.1到2.5。

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

从节点配置

我相信,如@Jayan所述,当您需要进行多个git安装或出于某种原因需要运行特定版本的git来进行某些Jenkins作业时,其他“ git安装”更为合适。



 类似资料:
  • 现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。 Note 这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac 或 Windows 服务器上同样可以运行这些服务。 事实上,在你的计算机基础架构中建立一个生产环境服务器,将不可避免的使用到不同的安全措施与操作系统工具。但是,希望你能从本节中获得一些必要的知识。 在开始架设 Git 服

  • 我们来看看如何配置服务器端的 SSH 访问。 本例中,我们将使用 authorized_keys 方法来对用户进行认证。 同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。 首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。 $ sudo adduser git $ su git $ cd $ mkdir .ssh && chmod 700 .ssh

  • 现在我们将讨论如何在你自己的服务器上搭建 Git 服务来运行这些协议。 Note:这里我们将要演示在 Linux 服务器上进行一次基本且简化的安装所需的命令与步骤,当然在 Mac 或 Windows 服务器上同样可以运行这些服务。 事实上,在你的计算机基础架构中建立一个生产环境服务器,将不可避免的使用到不同的安全措施与操作系统工具。但是,希望你能从本节中获得一些必要的知识。 在开始架设 Git 服

  • 虽然 GitWeb 相当简单。 但如果你正在寻找一个更现代,功能更全的 Git 服务器,这里有几个开源的解决方案可供你选择安装。 因为 GitLab 是其中最出名的一个,我们将它作为示例并讨论它的安装和使用。 这比 GitWeb 要复杂的多并且需要更多的维护,但它的确是一个功能更全的选择。 安装 GitLab 是一个数据库支持的 web 应用,所以相比于其他 git 服务器,它的安装过程涉及到更多

  • 如果你对项目有读写权限或只读权限,你可能需要建立起一个基于网页的简易查看器。 Git 提供了一个叫做 GitWeb 的 CGI 脚本来做这项工作。 Figure 49. GitWeb 的网页用户界面 如果你想要查看 GitWeb 如何展示你的项目,并且在服务器上安装了轻量级网络服务器比如 lighttpd 或 webrick, Git 提供了一个命令来让你启动一个临时的服务器。 在 Linux 系

  • 你有多种远程存取 Git 仓库的选择便于与其他人合作或是分享你的工作。 运行你自己的服务器将有许多权限且允许你运行该服务于你自己的防火墙内,但如此通常需要耗费你大量的时间去设置与维护服务器。 如果你放置你的资料于托管服务器内,可轻易的设置与维护;无论如何,你必须能够保存你的代码在其他服务器,且某些组织不允许此作法。 这将直截了当的决定哪个作法或组合的方式较适合你或你的组织。