Jenkins之发布报错“error: RPC failed; curl 18 transfer closed with outstanding read data remaining”...

报错信息:

error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

       at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2016)
      at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1735)
       ... ...

  本来Jenkins都是正常的,但是突然构建一个job的时候出现了此报错,然后Jenkins上所有的job构建都不成功,同样报这种错误。在网上查找一些资料,最终确认是git的http.postBuffer配置默认值大小的问题,此配置是用来限制git推送大小的,由于代码里有大文件导致拉取代码时postBuffer溢出,所以需要增大http.postBuffer的值。

 

  解决时遇到的问题:由于git是Jenkins里安装的插件,所以修改git的配置比较麻烦。首先找不到Jenkins的git的配置文件(gitconfig),然后如果在服务器上使用git config命令修改的话,服务器上的git也有root权限安装的。

  解决方法:还是在服务器上使用命令修改,只是执行命令时使用Jenkins用户执行

su - jenkins -c "git config --global http.postBuffer 524288000"

  但是,执行后必须要重启Jenkins,不然不会生效的。随后就能在Jenkins的家目录下面看到配置文件 .gitconfig

 

转载于:https://www.cnblogs.com/chy-op/p/10063315.html

当在 Jenkins 上部署项目时遇到 "fatal: protocol error: bad pack header" 错误,这通常表示 Git 仓库存在一些问题。这个错误可能由多种原因引起,以下是一些常见的解决方案: 1. 清理 Jenkins 工作空间:尝试清理 Jenkins 工作空间中的旧文件和缓存,以确保部署时没有冲突。 2. 检查远程仓库的完整性:在部署之前,确保远程仓库(源代码仓库)没有损坏或错误。可以使用 `git fsck` 命令检查远程仓库的完整性,如之前所述。 3. 检查网络连接和权限:确保 Jenkins 服务器可以访问远程仓库,并且具有适当的权限进行克隆或拉取操作。检查网络连接是否正常,并验证 Jenkins 的认证和授权设置。 4. 检查 Git 版本和配置:确保 Jenkins 服务器上安装的 Git 版本是最新的,并且 Git 配置正确。有时旧版本的 Git 可能会引发一些问题,因此建议使用最新版本。 5. 尝试重新克隆仓库:如果问题仍然存在,可以尝试删除 Jenkins 工作空间中的仓库,并重新克隆或拉取最新的代码仓库。 6. 检查 Git 仓库状态:在执行部署之前,确保 Git 仓库的状态是干净的,没有未提交的更改或冲突。可以使用 `git status` 命令检查当前仓库状态,并根据需要提交或撤销更改。 如果以上方法都无法解决问题,建议记录错误信息、操作步骤和上下文,并与 Jenkins 管理员或相关团队进行进一步的咨询和支持,以获取更具体的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值