在jenkins作业中如何增加git fetch的超时时间
可以通过以下几种方式来增加 Jenkins 中 git fetch 的超时时间:
1.在 Jenkins 的构建配置中设置超时时间:
- 在 Jenkins 的构建配置页面,找到 "Git" 部分,在 "Additional Behaviours" 中选择 "Advanced clone/fetch behaviors"。
- 在 "Timeout" 字段中输入所需的超时时间,单位为分钟。
- 保存配置并重新构建。
2.在 Jenkins 的 pipeline 脚本中设置超时时间:
- 在 pipeline 脚本的 checkout 步骤中,使用 extensions 选项设置超时时间。
- 例如:
checkout([
$class: 'GitSCM',
extensions: [[$class: 'CheckoutOption', timeout: 10],
[$class: 'CloneOption', timeout: 10]],
userRemoteConfigs: [[url: 'https://github.meng.com/repo.git']]]
)
- 这里将超时时间设置为 10 分钟。
3.在 Git 的全局配置中设置超时时间:
- 在 Jenkins 服务器上,以 Jenkins 用户的身份运行以下命令:
git config --global http.postBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 600
- 这些设置会影响 Jenkins 中所有使用 Git 的构建。
参数说明:
- http.postBuffer 用于增大 Git 在 HTTP 模式下的缓冲区,以应对大型仓库。
单位为字节,1GB=1048576000
- http.lowSpeedLimit 设置连接速度下限,低于此值时开始计时。
单位为字节每秒,将下限设置为 0,意味着不限制
- http.lowSpeedTime 设置连接速度过慢的最长等待时间,超过此值则认为连接失败。
单位为秒,将等待时间设置为 600 秒,即 10 分钟