一种高效按需自动下载Git代码库代码的DevOps平台构建系统技术方案

技术编号:38352436 阅读:9 留言:0更新日期:2023-08-05 17:25
本发明专利技术提供了一种高效按需自动下载Git代码库代码的DevOps平台构建系统,包括Git代码库、消息队列服务和DevOps平台构建系统;所述Git代码库的数据输出端与消息队列服务连接;所述DevOps构建系统包括沿数据传输方向依序设置的消息侦听模块、任务调度模块、构建任务、代码下载策略配置模块;所述消息侦听模块的数据输出端与消息队列服务连接;本发明专利技术在用户通过DevOps平台构建系统进行代码构建时,不需要手动编写代码下载命令,降低使用门槛和操作成本;并且,在用户通过DevOps平台构建系统进行代码构建时,可以高效按需自动下载Git代码库代码,极大提高构建系统在构建过程中,下载代码的速度,精确度,并极大降低Git代码服务器的CPU、内存、磁盘IO和网络IO消耗。磁盘IO和网络IO消耗。磁盘IO和网络IO消耗。

【技术实现步骤摘要】
一种高效按需自动下载Git代码库代码的DevOps平台构建系统


[0001]本专利技术涉及Git代码库代码下载领域,具体是一种高效按需自动下载Git代码库代码的DevOps平台构建系统。

技术介绍

[0002]DevOps平台是一种为软件研发团队提供从产品构思到开发、测试、交付的一站式数字化研发协同平台,其中包括了软件工程师进行代码开发的代码平台(目前,代码平台通常都是Git代码库),以及用于对源代码进行构建的构建系统。每次构建系统进行代码构建时,都要从Git代码库拉取代码。
[0003]现有技术中,构建系统在进行代码构建,从Git代码库中拉取代码时,通常采用如下方法:
[0004]方法一、在构建脚本中让用户手动编写代码下载命令;
[0005]方法二、通过界面配置,自动全量下载代码或者自动下载最新的若干个Commit;
[0006]当前的软件工程领域,提倡持续集成理念,要求每次代码提交均进行自动代码构建,并支持对历史代码提交进行重复构建。如果按照现有技术,在DevOps平台构建系统中进行代码构建时,下载代码的两种方法依然存在着重要缺点:
[0007]方法一的缺点是需要用户手动操作,效率低下;用户编写脚本,使用成本和门槛高。
[0008]方法二的缺点是如果配置的自动下载最新若干个提交的数量比较多,则存在极大浪费;构建时,仅需要下载指定的一个Commit即可;如果配置的自动下载只包含最新的一个commit,则无法对历史commit构建记录执行重新构建,否则会导致下载的代码错误,导致构建产物不一致。
[0009]目前,我司已经在公示的中国专利“一种用Git原生Clone命令克隆指定Commit的方法”(申请号:CN202010235316.4),该专利技术通过在用户原生Git客户端和Git原生服务器之间增加用户命令拦截器进行命令截获及数据修改,使用git原生clone命令及参数实现对任意指定的代码历史进行下载,用户命令拦截器通过伪造最新commit信息,从而达到欺骗gitclone命令的目的,让gitclone命令误以为服务器端最新commit为指定的commit;对指定commit数据进行打包时,强制设置打包深度为1,只进行单commit数据打包。该专利技术提供了一种新的可能,就是可以根据指定的代码Commit,按需精准下载需要的代码,不仅能提升代码下载速度,还能极大降低代码服务器的CPU、内存、磁盘IO和网络IO消耗。
[0010]因此,本专利技术通过将DevOps平台构建系统和目前已经在公示的专利“一种用Git原生Clone命令克隆指定Commit的方法”(申请号:CN202010235316.4)技术相结合,提供一种高效按需自动下载Git代码库代码的DevOps平台构建系统。

技术实现思路

[0011]本专利技术的目的在于提供一种高效按需自动下载Git代码库代码的DevOps平台构建系统,以解决上述
技术介绍
中提出的问题。
[0012]为实现上述目的,本专利技术提供如下技术方案:
[0013]一种高效按需自动下载Git代码库代码的DevOps平台构建系统,包括Git代码库、消息队列服务和DevOps平台构建系统;
[0014]所述Git代码库的数据输出端与消息队列服务连接;所述DevOps构建系统包括沿数据传输方向依序设置的消息侦听模块、任务调度模块、构建任务、代码下载策略配置模块;
[0015]所述消息侦听模块的数据输出端与消息队列服务连接;所述构建任务的数据输出端和数据输入端分别与Git代码库连接;所述代码下载策略配置模块的数据输出端与构建任务连接。
[0016]作为本专利技术进一步的方案:所述消息队列服务用于接收Git代码库事件消息,并向下游的DevOps平台构建系统提供消息订阅和消费服务。
[0017]作为本专利技术进一步的方案:所述消息侦听模块用于侦听Git代码库事件,从而触发后续的自动化构建任务。
[0018]作为本专利技术进一步的方案:所述任务调度模块用于按照消息侦听模块提供的事件,触发具体的任务调度。
[0019]作为本专利技术进一步的方案:所述构建任务用于真正执行代码下载和构建的行为。
[0020]作为本专利技术进一步的方案:所述代码下载策略配置模块用于向用户提供一个配置入口,配置代码下载策略。
[0021]作为本专利技术进一步的方案:该系统具体工作流程如下:
[0022]步骤一、用户在代码下载策略配置模块设置代码下载策略,其中代码下载策略包括单commit克隆、全库下载、指定分支下载、指定Tag下载、不自动下载;
[0023]步骤二、用户向Git代码库提交代码;
[0024]步骤三、Git代码库向消息队列服务发送用户的Git代码提交事件消息,其中Git代码提交事件消息中包含用户提交的Commit信息;
[0025]步骤四、DevOps平台构建系统中的消息侦听模块侦听并消费该Git代码提交事件消息,并提取用户提交的Commit信息;
[0026]步骤五、消息侦听模块向任务调度模块下达指令,开始准备执行构建任务,并将用户提交的Commit信息传递给任务调度模块;
[0027]步骤六、任务调度模块向构建任务下达构建任务执行指令,并将用户提交的Commit信息传递给构建任务;
[0028]步骤七、构建任务向代码下载策略配置模块读取用户在步骤一中配置的代码下载策略配置信息;
[0029]步骤八、构建任务根据步骤七中获得的配置信息,向Git代码库发起代码下载请求并执行代码构建。
[0030]与现有技术相比,本专利技术的有益效果是:
[0031]本专利技术通过将DevOps平台构建系统和目前已经在公示的专利“一种用Git原生
Clone命令克隆指定Commit的方法”(申请号:CN202010235316.4)技术相结合,提供一种高效按需自动下载Git代码库代码的DevOps平台构建系统,不仅降低用户使用门槛和复杂度,并极大提高构建系统在构建过程中,下载代码的速度、精确度,并极大降低Git代码服务器的CPU、内存、磁盘IO和网络IO消耗。
[0032]本专利技术在用户通过DevOps平台构建系统进行代码构建时,不需要手动编写代码下载命令,降低使用门槛和操作成本;并且,在用户通过DevOps平台构建系统进行代码构建时,可以高效按需自动下载Git代码库代码,极大提高构建系统在构建过程中,下载代码的速度,精确度,并极大降低Git代码服务器的CPU、内存、磁盘IO和网络IO消耗。
附图说明
[0033]图1为一种高效按需自动下载Git代码库代码的DevOps平台构建系统的示意图。
具体实施方式
[0034]下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
[0035]请参阅图1,一种高效按需自动下载Git代码库代码的DevOps平台构建系统,包括Git代码库、消息队列服务和DevOps平台构建系统,主要由这三本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高效按需自动下载Git代码库代码的DevOps平台构建系统,其特征在于,包括Git代码库、消息队列服务和DevOps平台构建系统;所述Git代码库的数据输出端与消息队列服务连接;所述DevOps构建系统包括沿数据传输方向依序设置的消息侦听模块、任务调度模块、构建任务、代码下载策略配置模块;所述消息侦听模块的数据输出端与消息队列服务连接;所述构建任务的数据输出端和数据输入端分别与Git代码库连接;所述代码下载策略配置模块的数据输出端与构建任务连接。2.根据权利要求1所述的一种高效按需自动下载Git代码库代码的DevOps平台构建系统,其特征在于,所述消息队列服务用于接收Git代码库事件消息,并向下游的DevOps平台构建系统提供消息订阅和消费服务。3.根据权利要求1所述的一种高效按需自动下载Git代码库代码的DevOps平台构建系统,其特征在于,所述消息侦听模块用于侦听Git代码库事件,从而触发后续的自动化构建任务。4.根据权利要求1所述的一种高效按需自动下载Git代码库代码的DevOps平台构建系统,其特征在于,所述任务调度模块用于按照消息侦听模块提供的事件,触发具体的任务调度。5.根据权利要求1所述的一种高效按需自动下载Git代码库代码的DevOps平台构建系统,其特征在于,所述构建任务用于真正执行代码下载...

【专利技术属性】
技术研发人员:刘庆
申请(专利权)人:北京简单一点科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1