一种集成gitlab的代码发布系统及方法技术方案

技术编号:39326193 阅读:11 留言:0更新日期:2023-11-12 16:04
本发明专利技术公开了一种集成gitlab的代码发布系统及方法,系统包括:信息获取模块用于获取录入的项目信息和项目迭代请求,所述项目信息包括工程信息、团队成员、迭代版本号、迭代简介和迭代预计发布时间;拉取模块用于对每个工程进行从主分支中拉取分支;打包部署模块用于根据项目迭代请求进行代码下载,并将代码打包部署于相应的环境;分支保护模块接收项目完成指令后,对创建的所有开发分支进行保护操作;合并分支模块向gitlab提交合并请求,将开发分支合并至主分支,删除已合并的开发分支。该系统将手动的创建代码分支、发布分支代码、合并代码分支、保护代码分支改为全自动的处理,可以减少大量的人工操作,降低了开发成本。降低了开发成本。降低了开发成本。

【技术实现步骤摘要】
一种集成gitlab的代码发布系统及方法


[0001]本专利技术涉及代码发布
,具体涉及一种集成gitlab的代码发布系统及方法。

技术介绍

[0002]在日常的软件迭代开发过程中,会运用到gitlab对代码进行管理,并将开发好的代码进行打包,部署在开发环境、测试环境、预发布环境、正式环境用于测试和正式使用。在这每一环节都需要大量的人工操作使整个流程规范、安全、正确。如图1所示,首先,代码管理者需要根据每次迭代开发所涉及到的工程,拉取一个develop branch用于独立的开发。软件工程师在开发的过程中,需要不断打包代码,并部署于开发环境,用于单元测试和与前端工程师联调测试。各单元测试通过后,需将代码交于测试工程师,测试工程师同样需要打包代码,并部署于测试环境,用于整体测试。整体测试通过之后,同样需要由测试工程师部署代码至预发环境,用于模拟正式环境测试和用户测试。最终,代码通过所有测试之后,会由运维工程师将代码打包发布于正式环境,并由代码管理者将代码分支设置为保护状态,避免代码被污染,并将develop branch合并至master branch后删除develop branch。这样,整个软件迭代流程结束。这样的迭代流程每个月都会至少发生2次以上,每一次的迭代也至少会涉及到多个工程,这使以上所述的代码管理工作、代码打包发布工作呈指数般上升。每一次发布代码,需要人工将最新代码下载于本地电脑,并将其构建打包,最终上传至服务器或者k8s执行发布。K8s:kubernetes的简称,是Google开源的一个容器编排引擎,它支持自动化部署代码、大规模可伸缩、应用容器化管理。在迭代结束后,需要将代码合并以及删除已完成的分支代码。这其中工作十分的繁琐且重复,需要消耗大量的时间,且容易出现错误。

技术实现思路

[0003]针对现有技术中的缺陷,本专利技术实施例提供一种集成gitlab的代码发布系统及方法,能自动处理代码分支,无需人工干预,减少了操作人员的工作量。
[0004]第一方面,本专利技术实施例提供的一种集成gitlab的代码发布系统,包括:信息获取模块、拉取模块、打包部署模块、分支保护模块和合并分支模块;
[0005]所述信息获取模块用于获取录入的项目信息和项目迭代请求,所述项目信息包括工程信息、团队成员、迭代版本号、迭代简介和迭代预计发布时间;
[0006]所述拉取模块用于对每个工程进行从主分支中拉取分支;
[0007]所述打包部署模块用于根据项目迭代请求进行代码下载,并将代码打包部署于相应的环境;
[0008]所述分支保护模块接收项目完成指令后,对创建的所有开发分支进行保护操作;
[0009]所述合并分支模块向gitlab提交合并请求,将开发分支合并至主分支,删除已合并的开发分支。
[0010]第二方面,本专利技术实施例提供的一种集成gitlab的代码发布方法,包括:获取录入的项目信息,所述项目信息包括工程信息、团队成员、迭代版本号、迭代简介和迭代预计发布时间;
[0011]对每个工程进行从主分支中拉取分支;
[0012]获取项目迭代请求;
[0013]根据项目迭代请求进行代码下载,并将代码打包部署于相应的环境;
[0014]接收项目完成指令后,对创建的所有开发分支进行保护操作;
[0015]向gitlab提交合并请求,将开发分支合并至主分支,删除已合并的开发分支。
[0016]本专利技术的有益效果:
[0017]本专利技术实施例提供的一种集成gitlab的代码发布系统及方法,能自动创建代码分支、代码自动拉取、代码自动打包发布、合并代码分支、分支自动保护,无需人工干预,可以减少大量的人工操作,且不需要操作人员拥有专业的运维的知识,使得迭代流程更加具有准确性与实时性,同时降低了开发成本。
附图说明
[0018]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0019]图1示出了现有技术中代码发布系统的工作流程图;
[0020]图2示出了本专利技术第二实施例所提供的一种集成gitlab的代码发布系统的结构框图;
[0021]图3示出了本专利技术第一实施例所提供的一种集成gitlab的代码发布方法的流程图;
[0022]图4示出了本专利技术第一实施例所提供的一种集成gitlab的代码发布方法的详细工作流程图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0025]还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0026]还应当进一步理解,本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0027]如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0028]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。
[0029]在以下实施例中存在的术语解释如下:
[0030]Gitlab:一个用于代码仓库管理的开源系统。
[0031]Develop branch:开发分支,用于新功能开发的代码版本。
[0032]Master branch:主分支,面向生产环境的、经过测试的稳定代码版本。
[0033]如图2所示,示出了本专利技术第一实施例所提供的一种集成gitlab的代码发布系统的结构框图,包括:信息获取模块、拉取模块、打包部署模块、分支保护模块和合并分支模块;信息获取模块用于获取录入的项目信息和项目迭代请求,所述项目信息包括工程信息、团队成员、迭代版本号、迭代简介和迭代预计发布时间;拉取模块用于对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成gitlab的代码发布系统,其特征在于,包括:信息获取模块、拉取模块、打包部署模块、分支保护模块和合并分支模块;所述信息获取模块用于获取录入的项目信息和项目迭代请求,所述项目信息包括工程信息、团队成员、迭代版本号、迭代简介和迭代预计发布时间;所述拉取模块用于对每个工程进行从主分支中拉取分支;所述打包部署模块用于根据项目迭代请求进行代码下载,并将代码打包部署于相应的环境;所述分支保护模块接收项目完成指令后,对创建的所有开发分支进行保护操作;所述合并分支模块向gitlab提交合并请求,将开发分支合并至主分支,删除已合并的开发分支。2.如权利要求1所述的系统,其特征在于,所述打包部署模块包括发布处理单元,所述发布处理单元用于根据发布请求向gitlab请求代码,并将代码下载于服务器中,并将代码打包部署于开发环境。3.如权利要求1所述的系统,其特征在于,所述打包部署模块包括测试处理单元,所述测试处理单元用于根据测试请求向gitlab请求代码,并将代码下载于服务器中,并将代码打包部署于测试环境。4.如权利要求1所述的系统,其特征在于,所述打包部署模块包括预发布处理单元,所述预发布处理单元用于根据预发布请求向gitlab请求代码,并将代码下载于服务器中,并将代码打包部署于预发布环境。5.如权利要求1所述的系统,其特征在于,所述打包部署模块包括正式发布处理单元,所述正式发布处理单元根据正式发布请求向gitlab请求代码,并将代码下载于服务器中,并将代码打包部署于正式环境。6.一种集成gitlab的代码发布方法,其特征在于...

【专利技术属性】
技术研发人员:严聪浩金彪杨东
申请(专利权)人:浙江绿色慧联有限公司
类型:发明
国别省市:

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

1