System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件开发,尤其涉及一种自动化ci/cd项目部署方法、装置、设备及介质。
技术介绍
1、在现有的软件开发过程中,持续集成(continuous integration,ci)和持续交付/持续部署(continuous delivery/continuous deployment,cd)已经成为标准实践,这些实践能够提供即时的反馈,确保代码质量,并加速软件的交付速度。
2、通常软件开发过程中,需要为一个新的项目设置ci/cd流程,需要经过如下步骤:
3、1、创建或者配置代码仓库,比如:gitlab;
4、2、设定编译、测试和部署的流程;
5、3、配置并搭建ci/cd工具,如jenkins;
6、4、集成代码质量检查工具,比如:sonarqube;
7、5、确保所有的配置都能够顺利第适应项目的特性,,比如,编程语言、依赖关系等。
8、但是,虽然这些工具都能执行各自的任务,但是,在不同的项目之间,尤其是不同编程语言或者框架的项目之间,设置ci/cd流程仍需要大量的手动配置工作。
9、因此,现有技术的项目部署过程中需要人员多次手动配置,耗时耗力,效率不高。
技术实现思路
1、鉴于上述问题,本专利技术提供了一种克服上述问题或者至少部分地解决上述问题的自动化ci/cd项目部署方法、装置、设备及介质。
2、第一方面,本专利技术提供了一种自动化ci/cd项目部署方法,包括:
>3、获取目标项目信息;
4、基于所述目标项目信息,自动创建web钩子和流水线工作,并将所述web钩子和所述流水线工作建立连接关系,形成事件机制;
5、接收事件机制的通知;
6、对所述事件机制的通知进行解析,得到解析结果;
7、基于解析结果,执行相应的代码检测或项目构建的任务。
8、优选地,所述基于所述目标项目信息,自动创建web钩子和流水线工作,并将所述web钩子和所述流水线工作建立连接关系,形成事件机制,包括:
9、基于所述目标项目信息,确定目标项目的项目特征;
10、基于所述项目特征,自动创建web钩子和流水线工作,并将所述web钩子和所述流水线工作建立连接关系,形成事件机制。
11、优选地,所述对所述事件机制的通知进行解析,得到解析结果,包括:
12、基于所述事件机制的通知,判断所述事件机制的通知内的是否为push事件;
13、若是,确定所述解析结果为所述push事件;
14、若否,判断所述事件机制的通知内容是否是合并至develop分支事件;
15、若是,确定所述解析结果为合并至develop分支事件;
16、若否,判断所述事件机制的通知内容是否是develop分支合并至master分支事件;
17、若是,确定所述解析结果为develop分支合并至master分支事件。
18、优选地,在所述解析结果为所述push事件时,基于解析结果,执行相应的代码检测的任务,包括:
19、基于所述push事件,采用sonarqube工具对所述push事件的第一代码进行质量检查,得到质量检查结果。
20、优选地,在所述解析结果为合并至develop分支事件时,基于解析结果,执行相应的代码检测的任务,包括:
21、基于合并至develop分支事件,获取合并之前对应的第二代码的质量检查结果;
22、基于所述质量检查结果,在同意合并时,将所述第二代码合并至develop分支。
23、优选地,在所述解析结果为develop分支合并至master分支事件时,基于所述解析结果,执行相应的代码检测或项目构建的任务,包括:
24、基于develop分支合并至master分支事件,执行项目构建的任务,得到目标项目的第一版本。
25、优选地,在基于develop分支合并至master分支事件,执行项目构建的任务,得到目标项目的第一版本之后,还包括:
26、对所述目标项目对应的第三代码进行代码检测,以及时更正异常代码;
27、对所述目标项目进行功能测试,得到测试结果;
28、基于测试结果,对所述目标项目的第一版本进行更新,得到第二版本;
29、基于所述第二版本,对所述目标项目进行部署,并进行发布。
30、第二方面,本专利技术还提供了一种自动化ci/cd项目部署装置,包括:
31、项目识别模块,用于获取目标项目信息;
32、自动创建模块,用于基于所述目标项目信息,自动创建web钩子和流水线工作,并将所述web钩子和所述流水线工作建立连接关系,形成事件机制;
33、接收模块,用于接收事件机制的通知;
34、解析模块,用于对所述事件机制的通知进行解析,得到解析结果;
35、执行模块,用于基于解析结果,执行相应的代码检测或项目构建的任务。
36、第三方面,本专利技术还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中所述的方法。
37、第四方面,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中所述的方法步骤。
38、本专利技术实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
39、本专利技术提供了一种自动化ci/cd项目部署方法,包括:获取目标项目信息;基于目标项目信息、自动创建web钩子和流水线工作,并将web钩子和流水线工作建立连接关系,形成事件机制;接收事件机制的通知;基于事件机制的通知,确定事件内容;基于事件内容,对事件内容进行解析,得到解析结果;基于解析结果,执行相应的代码检查或者项目构建的任务,进而通过自动化创建以及自动触发的方式,实现自动化项目部署,提高了项目部署的效率。
本文档来自技高网...【技术保护点】
1.一种自动化CI/CD项目部署方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述目标项目信息,自动创建web钩子和流水线工作,并将所述web钩子和所述流水线工作建立连接关系,形成事件机制,包括:
3.如权利要求1所述的方法,其特征在于,所述对所述事件机制的通知进行解析,得到解析结果,包括:
4.如权利要求3所述的方法,其特征在于,在所述解析结果为所述push事件时,基于解析结果,执行相应的代码检测的任务,包括:
5.如权利要求4所述的方法,其特征在于,在所述解析结果为合并至develop分支事件时,基于解析结果,执行相应的代码检测的任务,包括:
6.如权利要求3所述的方法,其特征在于,在所述解析结果为develop分支合并至master分支事件时,基于所述解析结果,执行相应的代码检测或项目构建的任务,包括:
7.如权利要求6所述的方法,其特征在于,在基于develop分支合并至master分支事件,执行项目构建的任务,得到目标项目的第一版本之后,还包括:
8.一种自动
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一权利要求所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任一权利要求所述的方法。
...【技术特征摘要】
1.一种自动化ci/cd项目部署方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述目标项目信息,自动创建web钩子和流水线工作,并将所述web钩子和所述流水线工作建立连接关系,形成事件机制,包括:
3.如权利要求1所述的方法,其特征在于,所述对所述事件机制的通知进行解析,得到解析结果,包括:
4.如权利要求3所述的方法,其特征在于,在所述解析结果为所述push事件时,基于解析结果,执行相应的代码检测的任务,包括:
5.如权利要求4所述的方法,其特征在于,在所述解析结果为合并至develop分支事件时,基于解析结果,执行相应的代码检测的任务,包括:
6.如权利要求3所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:陈德富,黄武,
申请(专利权)人:成都泰盟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。