git文件过大导致构建失败的解决方案(快速提升jenkins构建速度)

简介: 快速提升jenkins构建速度的方案

01 引言

最近使用 jenkins 部署一个项目的时候,总是构建失败,卡在了git clone这一步骤,经过一系列的分析,发现jenkins执行git clone时,会先下载(或构建).git文件的。

随着项目提交的次数增多,特别是如果提交内容里有大文件,会发现.git文件越来越大

image.png

.git是一个隐藏文件,该文件夹存储了 Git 仓库的所有元数据和对象,包含:对象数据库(Object Database)、分支和标签信息、配置信息、日志和历史记录、钩子脚本(Hooks)等。

既然找到了导致jenkins构建过慢或者失败的病因,那该如何解决呢?

02 解决方式

2.1 方式1 - 压缩减小.git文件体积

可以使用Git提供的命令行工具将.git文件压缩为更小的大小,运行以下命令:

git gc --aggressive --prune=all

这将使用Git的垃圾收集机制来清理和压缩不再使用的对象,并将不必要的历史记录从存储库中删除,这可能会减小.git文件的大小。

也可以使用一些第三方工具清理和优化Git存储库,例如:BFG Repo-Cleaner


如果.git文件的大小主要是由于大型文件引起的,可以考虑从存储库中删除这些文件或使用GitLFS(Large File Storage)扩展来处理大型文件,通过移除或外部存储大文件,可以减小.git文件的大小。

2.1 方式2 - 使用浅克隆(推荐)

如果不需要存储库的完整历史记录,并且只对最新的提交和文件更改感兴趣,可以使用Git的浅克隆(shallow clone)功能来减小.git文件的大小,运行以下命令( --depth表示只需要最后1条记录):

git clone --depth 1 -b 分支 仓库地址

这将只克隆最新的提交和文件,而不会复制完整的历史记录。

那么对应jenkins是这样配置的,首先打开项目的Git配置部分,找到“Additional Behaviors”(附加行为)选项,并点击“Add”(添加)按钮,选择“Advanced clone behaviours”:
image.png

然后配置Shallow clone,depth为1即可:
image.png

03 文末

经过上述的配置,可以看到jenkins的构建速度明显加快了,希望能帮助到大家,谢谢大家的阅读,本文完!

目录
相关文章
|
14天前
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
32 1
|
19天前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
37 5
|
2月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
180 1
git学习三:git使用:删除仓库,删除仓库内文件
|
2月前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
2月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
93 4
|
2月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
42 1
|
4月前
|
缓存 开发工具 git
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
本文介绍了如何为Git仓库添加`.gitignore`文件来排除不需要跟踪的临时文件,并展示了如何删除已经被提交的临时文件缓存,以清理Git仓库中的不必要文件。
394 0
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
|
4月前
|
Prometheus 监控 Cloud Native
使用 Jenkins 监控和优化构建性能
【8月更文第31天】在软件开发的过程中,构建性能直接影响着开发效率和团队的生产力。一个快速、可靠的构建流程可以显著加快迭代速度,减少等待时间,使团队能够更快地响应变化。Jenkins 作为一款广泛使用的持续集成/持续交付(CI/CD)工具,提供了丰富的功能来帮助开发者监控和优化构建性能。本文将探讨如何利用 Jenkins 的内置工具和外部工具来监控构建性能,并提出一些具体的优化方案。
405 0
|
4月前
|
jenkins 持续交付
Jenkins Pipeline 流水线 - Parameters 参数化构建
Jenkins Pipeline 流水线 - Parameters 参数化构建
137 0
|
4月前
|
jenkins 持续交付 网络安全
Jenkins Pipeline 流水线 - 完整构建 Pipeline Script 脚本
Jenkins Pipeline 流水线 - 完整构建 Pipeline Script 脚本
88 0
下一篇
DataWorks