问题描述:

同事在使用Jenkins打包项目的时候报错,提示“index-pack died of signal 15 fatal: index-pack failed”。初步怀疑是拉取代码超时,尝试在本地、jenkins服务器和其他服务器用git拉取代码,发现拉取速度非常慢,可能与代码仓库位于国外有关。修改拉取代码时间后,构建仍然失败。通过查阅资料,确认是git的http.postBuffer配置默认值大小的问题,需要增大http.postBuffer的值。

解决方法:

1. 修改拉取代码的时间;

2. 在源码管理Additional Behaviours中新增高级的克隆行为,设置克隆和拉取操作的超时时间(分钟),应用保存;

3. 修改Git postBuffer;

4. 在服务器上使用命令修改,执行命令时使用Jenkins用户执行;

5. 注意需要重启生效。

具体操作如下:

1. 修改拉取代码的时间:根据实际情况调整拉取代码的时间;

2. 在源码管理Additional Behaviours中新增高级的克隆行为,设置克隆和拉取操作的超时时间(分钟),应用保存;

3. 修改Git postBuffer:

```bash

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

```

4. 验证是否生效:

```bash

[root@jenkins jenkins]# cat .gitconfig

[filesystem "Oracle Corporation|1.8.0_222|/dev/nvme0n1p1"]

minRacyThreshold = 4837 microseconds

```

5. 最后重新构建项目,虽然构建时间变长了一些,但最终成功。