0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

提升jenkins构建效率的方法

马哥Linux运维 来源:CSDN 2023-07-18 09:40 次阅读

一、前言

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

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

b8e8ecde-24ab-11ee-962d-dac502259ad0.png

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

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

二、解决方式

方式一:压缩减少.git文件的体积

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

git gc --aggressive --prune=all

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

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

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

方式二:浅克隆(推荐

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

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

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

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

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

b95d3706-24ab-11ee-962d-dac502259ad0.png

链接:https://blog.csdn.net/qq_20042935/article/details/131422066





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7444

    浏览量

    163552

原文标题:提升jenkins构建效率(解决git文件过大的问题)

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通过Jenkins提供的启动参数禁用杀死子进程的方法

    Jenkins】execute shell启动的进程在结束的时候被杀死
    发表于 05-10 16:18

    Jenkins空间不足怎么办

    Jenkins空间问题
    发表于 08-14 13:33

    Jenkins用户界面的相关资料分享

    以查看已运行测试的状态,查看测试日志以及安排新测试在目标板上运行。您还可以使用此界面向系统添加新的电路板和新的测试。请注意,Jenkins对象是:节点作业构建视图这些与相同对象的Fue...
    发表于 12-21 06:56

    jenkins是什么?有何应用

    最近打算研究下持续集成,jenkins是一款功能很强大的解决方案,实践出真知,边实践变了解,实战了下jenkins的应用,顺便提高下工作效率下文及下图提到的PBX即为我要监控的嵌入式设备
    发表于 12-21 08:21

    Jenkins远程部署Linux服务器的过程

    1、Jenkins远程部署Linux服务器  之前在Jenkins上也有一些使用经验了,但是都是使用团队配置好的Jenkins,自己只需要管自己的项目以及执行构建即可,这一次自己尝试了
    发表于 11-18 18:12

    jenkins简单的使用教程_jenkins安装与配置

    jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。开发第一步、提交第二步、编译第三步、测试第四步、发布第五步
    发表于 12-20 18:40 8539次阅读
    <b class='flag-5'>jenkins</b>简单的使用教程_<b class='flag-5'>jenkins</b>安装与配置

    jenkins有什么用_jenkins如何自动部署

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。
    发表于 12-20 19:06 3.7w次阅读
    <b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何自动部署

    jenkins自动化部署

    本文详细介绍Jenkins的简单使用—jenkins自动化部署。
    的头像 发表于 02-06 11:27 4664次阅读
    <b class='flag-5'>jenkins</b>自动化部署

    Jenkins详细安装与构建部署使用教程

    本文详细介绍了Jenkins安装与构建部署使用教程。Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持
    发表于 02-06 13:47 1740次阅读
    <b class='flag-5'>Jenkins</b>详细安装与<b class='flag-5'>构建</b>部署使用教程

    Jenkins是什么_Jenkins常用功能_jenkins的使用总结

    本文详细回答了Jenkins是什么,Jenkins常用功能以及jenkins的使用总结。Jenkins 是一个可扩展的持续集成引擎。Jenkins
    发表于 02-06 14:44 2.8w次阅读
    <b class='flag-5'>Jenkins</b>是什么_<b class='flag-5'>Jenkins</b>常用功能_<b class='flag-5'>jenkins</b>的使用总结

    如何提升变压器效率,有什么有效方法

    是掌握一定的方法就会科学地进行提升效率。对于变压器提升效率方法有哪些呢?我们在这里给大家进行介
    发表于 06-29 17:27 3808次阅读

    部署Jenkins服务时如何保障服务的高可用性呢?

    现在的企业很多都在用Jenkins做持续集成,各个业务端都依靠Jenkins,vivo Devops也是使用Jenkins来进行持续构建,部署Jen
    的头像 发表于 02-14 17:02 3135次阅读

    Jenkins部署启动案例

    电子发烧友网站提供《Jenkins部署启动案例.zip》资料免费下载
    发表于 06-15 14:53 0次下载
    <b class='flag-5'>Jenkins</b>部署启动案例

    持续集成工具jenkins和相关工作机会介绍

    Jenkins 允许你设置自动化的构建任务,可以通过集成源代码管理工具(如 Git、SVN 等)从源代码仓库中获取最新的代码,并构建项目。这可以确保项目的每次提交都会进行构建和测试,以
    的头像 发表于 08-15 16:26 490次阅读

    基于Jenkins+GitLab+Maven实现代码自动打包编译发布

    Jenkins是一个独立开源的持续集成和持续交付工具,用于自动化构建、测试和部署软件项目。
    的头像 发表于 11-20 09:57 4606次阅读
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven实现代码自动打包编译发布