Jenkins git克隆代码超时问题的解决方案

文章介绍了在使用Jenkins进行服务部署时,如果项目.git文件夹太大导致gitclone失败的问题,提供了两种解决方案手动配置超时时间和使用浅克隆,需要的朋友可以参考下

目录
  • 一、问题描述
  • 二、解决方案
    • 方式一:手动配置超时时间
    • 方式二:浅克隆(推荐)

一、问题描述

在使用 Jenkins 首次进行服务部署的时候,如果我们项目的 .git 文件夹太大,可能会导致 git clone 失败。

在 Jenkins 构建时,如果没有进行过配置,git 克隆代码的默认超时时间为10分钟,如图所示:

超过十分钟后,就会报一个超时的错误:

二、解决方案

方式一:手动配置超时时间

在 Jenkins 中,我们可以通过配置延长默认的 10 分钟超时。

1.打开项目的配置,看到 源码管理Additional Behaviours,点击 新增

2.从弹出的新增方式中,选择 高级的克隆行为

3.从新增的配置框中可以配置 克隆和拉取操作的超时时间(分钟),点击 ? 可以看到默认超时时间是 10 分钟的说明,保险起见,我们可以直接配置个 60 或 120 分钟,保证可以正常克隆完所有代码。

4.配置完毕后,点击 完成,然后重新构建项目即可。

方式二:浅克隆(推荐)

浅克隆:在 git 克隆代码的时候只克隆当前分支的最新版本,并不获取历史版本。

1.打开项目的配置,看到 源码管理Additional Behaviours,点击 新增

2.从弹出的新增方式中,选择 高级的克隆行为

3.勾选 浅克隆 选项,并点击 保存

补充: Jenkins 默认的 Git 浅克隆深度为 1。这意味着在默认情况下,Jenkins 使用 Git 克隆操作时会使用 --depth 1 参数,只克隆最近的一次提交历史。

浅克隆可以减少克隆操作的时间和资源消耗,尤其是对于大型代码库或频繁构建的项目来说更是如此。

到此这篇关于Jenkins git克隆代码超时问题的解决方案的文章就介绍到这了,更多相关Jenkins git克隆代码超时内容请搜索骃骐网以前的文章或继续浏览下面的相关文章希望大家以后多多支持骃骐网!

您可能感兴趣的文章:

  • 用Jenkins+Docker+Maven+Git实现持续集成(超详细)
  • docker+jenkins+gitee配置持续集成部署方式
  • docker安装Jenkins配置Gitee SSH密钥踩坑解决
  • Docker+Jenkins+Gitee自动化部署maven项目的实现

相关推荐:

如何解决Python爬虫在长连接请求中超时的问题_设置合理的timeout参数与重试机制

requests.get()默认不设超时会无限等待,必须用timeout=(connect, read)元组分别控制连接与读取超时,单数值仅作用于读取阶段,连接阶段仍可能卡死。 requests.get() 默认不设超时,长连接请求卡住几小时都可能不报错——必须显式设置 timeout,且不能只填一个数字。 为什么单个 timeout 数值对长连接无效 requests 的 timeout 参数若...

PyTube 400 Bad Request 错误的根源分析与稳定解决方案

pytube 因 youtube 后端接口变更频繁触发 http 400 错误,本质是请求结构失效;升级至最新版 pytube 可快速修复,但长期应转向更活跃维护的替代方案(如 pytubefix 或 yt-dlp)并增强错误处理机制。 pytube 因 youtube 后端接口变更频繁触发 http 400 错误,本质是请求结构失效;升级至最新版 pytube 可快速修复,但长期应转向更活跃维护...

Gemini Python SDK 调用超时问题的解决方案

Gemini Python SDK 默认请求超时时间过短,导致频繁触发 DeadlineExceeded (504) 错误;而直接使用 curl 却能快速响应,根本原因在于 SDK 的 gRPC 客户端默认 timeout 设置不合理(通常仅约 60 秒且可能受底层重试逻辑影响),需显式延长超时阈值。 gemini python sdk 默认请求超时时间过短,导致频繁触发 `deadlineexc...

FastAPI 返回空 SQLAlchemy 对象的解决方案

FastAPI 路由返回空对象 {} 是因同步数据库操作与异步路由不匹配导致的 ORM 实例延迟加载失效;根本原因是未正确使用异步数据库会话方法(如 await db.scalar()),导致返回对象在序列化前已脱离会话上下文。 fastapi 路由返回空对象 `{}` 是因同步数据库操作与异步路由不匹配导致的 orm 实例延迟加载失效;根本原因是未正确使用异步数据库会话方法(如 `await d...

GDAL NetCDF CF-1.0 坐标识别失败的根源与解决方案

GDAL(v3.8+)在读取符合CF-1.0规范的NetCDF地理坐标时,可能因x/y坐标变量使用float32(f4)精度不足而误判为非规则网格,导致gdalinfo显示原点坐标(0,0)而非真实投影坐标;升级为float64(f8)或显式添加GeoTransform+spatial_ref属性可彻底解决。 gdal(v3.8+)在读取符合cf-1.0规范的netcdf地理坐标时,可能因`x`/...

Python使用Requests报Timeout超时怎么办_设置timeout参数与retrying重试库

Requests请求超时必须显式设置,否则默认无限等待导致卡死;推荐用元组timeout=(connect, read)如(3,10),并结合urllib3.Retry实现带退避的可控重试。 Requests请求超时直接报错,必须显式设置timeout Requests默认不设超时,网络卡住或服务无响应时会无限等待,生产环境绝对不能接受。必须在每次requests.get()、requests.p...

如何克隆一个现有的Python对象_通过copy.copy实现浅拷贝

copy.copy有时没用是因为它只做浅拷贝,不递归复制嵌套的可变子对象,导致新旧对象共享内部可变元素,修改一方会影响另一方。 copy.copy 为什么有时没用? 因为 copy.copy 只做浅拷贝,它只复制对象本身,不递归复制其内部的可变子对象。如果你的对象里嵌套了 list、dict、自定义类实例等,这些子对象在新旧对象中仍共享同一内存地址——改一个,另一个跟着变。 常见错误现象:– 修改...

Python如何优雅处理异步函数的超时逻辑_对比wait_for与asyncio.wait

asyncio.wait_for适合单任务超时,但会取消整个协程;asyncio.wait更灵活但timeout作用于整体等待过程;Python 3.11+推荐用async with asyncio.timeout()确保资源安全。 asyncio.wait_for 适合单任务超时,但会取消整个协程 当你只关心一个异步操作的耗时上限,asyncio.wait_for 是最直接的选择。它会在超时后主...

JupyterLab 中 Matplotlib 导致内核崩溃的系统性解决方案

本文系统梳理 JupyterLab 环境下调用 matplotlib.pyplot(如 plt.plot() 或 plt.scatter())引发内核意外终止("The kernel appears to have died")的多重成因与实证有效解法,涵盖环境变量配置、图形后端切换、freetype 版本兼容、内核隔离重建等关键路径。 本文系统梳理 jupyterlab 环境下调用 `matpl...

YOLOv4训练常见CUDA库缺失错误的解决方案

在google colab中使用darknet训练yolov4时,出现“libcuda.so.1: cannot open shared object file”错误,本质是旧版darknet未适配colab当前cuda环境所致;推荐切换至维护活跃的hank-ai/darknet并更新构建流程。 在google colab中使用darknet训练yolov4时,出现“libcuda.so.1: c...