Jenkins选择了错误的git二进制文件。

3
我有一个运行在Oracle Linux 6.9上的Jenkins服务器(版本2.150.2)。服务器上安装了Git 1.7.1,二进制文件位于/usr/bin/git下(运行which git命令可查看)。
我的Windows从机已连接到此主机,并在此处配置了git。但我仍然收到以下错误消息:
Caused by: java.io.IOException: Cannot run program "/usr/bin/git" (in directory "C:\Jenkins\workspace\x\y\z"): CreateProcess error=2, The system cannot find the file specified

尝试升级所有插件并重新启动Jenkins,但无济于事。

不知何故,Jenkins git插件正在捕获服务器git路径而非节点。这可以从控制台日志中看出:

...
15:17:07 Cloning the remote Git repository
15:17:08 Cloning repository xxx
15:17:09  > /usr/bin/git init C:\Jenkins\workspace\TestJobs\xxx\xxx # timeout=10
...

我的Jenkins Git配置:

  • 节点(Windows)中的Git在工具位置下提到:

enter image description here

  • 服务器(Linux)中的Git在全局工具配置下提到:

enter image description here


你是如何在Jenkins中运行git命令的?是像/usr/bin/git这样吗?还是你正在使用Jenkins的git插件? - error404
我正在使用Jenkins的git插件。 - Saikat
1
如果您正在尝试在Windows从机上运行Jenkins作业并且已安装了Git,则请检查是否将Git路径添加到Windows PATH变量中。此外,还要检查Windows从机工具配置中是否有任何硬编码为/usr/bin/git的Git配置。 - error404
如果我告诉Jenkins具体在哪里找到二进制文件,那么为什么还需要将其添加到PATH中呢? - Saikat
你在哪里定义的?如果你正在运行Windows从机,路径/usr/bin/git不存在。 - error404
显示剩余2条评论
2个回答

3
你需要在“管理Jenkins” -> “管理节点” -> “YOUR_NODE_NAME” -> “配置”页面中配置Git工具。在“节点属性”部分,您必须启用“工具位置”,然后添加Git工具位置(您需要指定与节点上安装的Git相同的“主目录”)。"

我遇到了同样的问题,并使用自定义工具安装修复了它。不知道在全局工具位置中是否应该也能够通过标签模式指定路径。 - Joerg S

1

我曾经遇到过同样的问题,通过在“全局工具配置”和节点的“工具位置”中选择相同的Git安装名称来解决它。

Jenkins主服务器全局工具配置

Git name in master

Node 工具位置

Git name in node

非常奇怪,但它能工作

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接