System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种流水线部署方法、装置、设备和存储介质。
技术介绍
1、流水线的自动部署就是在部署的时候通过计算机自动执行全部命令,用户仅仅执行命令的开始触发工作,决策操作则交给计算机来执行,而不是驱动每个命令的手动执行。
2、现有技术中,针对流水线的自动部署流程主要是基于pipeline流水线,通过编写自动化脚本实现自动化部署。但是,因编写自动化脚本的技术人员编写能力存在差异,对于需求比较复杂的任务,通过编写自动化脚本实现流水线部署的部署效率较低,导致基于流水线执行任务的效率较低。
技术实现思路
1、本专利技术提供一种流水线部署方法、装置、设备和存储介质,用以解决现有技术中流水线部署效率较低,导致基于流水线执行任务的效率较低的缺陷,提升了基于流水线执行任务的效率。
2、第一方面,本专利技术提供一种流水线部署方法,该方法包括:
3、利用流水线的版本控制系统,对提交至所述版本控制系统的第一代码增加代码版本信息,得到增加代码版本信息后的第一代码;所述流水线为根据至少一个插件得到的,任一所述插件为根据所述流水线中的流水线任务得到的;
4、根据所述增加代码版本信息后的第一代码,利用目标请求触发所述流水线中的至少一个所述流水线任务;所述目标请求基于包含代码版本信息的标签推送事件触发;各个所述流水线任务对应在独立的容器中执行;
5、针对任一所述流水线任务,调用所述流水线任务对应的插件接口,并根据所述目标请求执行所述流水
6、针对任一所述流水线任务,在所述流水线任务执行完成的情况下,自动触发所述流水线任务的下一流水线任务的执行。
7、可选地,所述流水线任务包含以下至少一项:代码编译构建、打包测试环境镜像、生成测试部署包、将所述测试部署包部署至测试环境、自动化测试、人工测试、打包生产环境镜像、生成生产部署包、将所述生产部署包部署至预生产环境。
8、可选地,所述针对任一所述流水线任务,调用所述流水线任务对应的插件接口,并根据所述目标请求执行所述流水线任务,包括:
9、针对任一所述流水线任务,根据所述目标请求,确定所述流水线任务对应的第二代码;
10、根据所述流水线任务对应的第二代码,确定所述流水线任务的输入参数的取值;
11、利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果;所述流水线任务对应的插件接口包含所述流水线任务对应的至少一个输入参数以及所述流水线任务对应的输出结果。
12、可选地,在所述流水线任务为打包测试环境镜像的情况下,所述流水线任务的输入参数的取值为所述第二代码对应的容器镜像配置代码;所述利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果,包括:
13、利用所述流水线任务对应的插件接口,从所述版本控制系统中拉取所述第二代码对应的容器镜像配置代码;
14、利用所述流水线任务对应的插件接口,确定所述第二代码对应的容器镜像配置代码对应的镜像版本信息;
15、利用所述流水线任务对应的插件接口,根据所述第二代码对应的容器镜像配置代码,进行容器镜像的构建,得到所述第二代码对应的测试环境镜像。
16、可选地,在所述流水线任务为生成测试部署包的情况下,所述流水线任务的输入参数的取值为所述版本控制系统中所述第二代码对应的容器集群配置文件;所述利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果,包括:
17、利用所述流水线任务对应的插件接口,拉取所述版本控制系统中所述第二代码对应的容器集群配置文件;
18、利用所述流水线任务对应的插件接口,将所述第二代码对应的容器集群配置文件中的镜像版本信息进行更新,并将更新后的第二代码对应的容器集群配置文件推送至所述版本控制系统中;
19、利用所述流水线任务对应的插件接口,根据所述更新后的第二代码对应的容器集群配置文件,生成所述测试部署包。
20、可选地,在所述流水线任务为自动化测试的情况下,所述流水线任务的输入参数的取值为测试数据集和所述测试部署包中的测试对象;所述利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果,包括:
21、利用所述流水线任务对应的插件接口,根据所述测试数据集以及预设的适应度函数对机器学习模型进行训练,得到测试用例生成模型;
22、利用所述测试用例生成模型,根据所述测试部署包中的测试对象生成测试报告。
23、可选地,所述版本控制系统中包含触发器,所述触发器用于触发所述流水线任务的执行。
24、第二方面,本专利技术还提供一种流水线部署装置,该装置包括:
25、版本管理模块,用于利用流水线的版本控制系统,对提交至所述版本控制系统的第一代码增加代码版本信息,得到增加代码版本信息后的第一代码;所述流水线为根据至少一个插件得到的,任一所述插件为根据所述流水线中的流水线任务得到的;
26、任务触发模块,用于根据所述增加代码版本信息后的第一代码,利用目标请求触发所述流水线中的至少一个所述流水线任务;所述目标请求基于包含代码版本信息的标签推送事件触发;各个所述流水线任务对应在独立的容器中执行;
27、任务执行模块,用于针对任一所述流水线任务,调用所述流水线任务对应的插件接口,并根据所述目标请求执行所述流水线任务;所述插件接口为预先注册至所述流水线的引擎中的接口;
28、针对任一所述流水线任务,在所述流水线任务执行完成的情况下,自动触发所述流水线任务的下一流水线任务的执行。
29、第三方面,本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述流水线部署方法。
30、第四方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述流水线部署方法。
31、第五方面,本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述流水线部署方法。
32、本专利技术提供的一种流水线部署方法、装置、设备和存储介质,通过利用流水线的版本控制系统,对提交至版本控制系统的第一代码增加代码版本信息,得到增加代码版本信息后的第一代码,其中,流水线为根据至少一个插件得到的,任一插件为根据流水线中的流水线任务得到的;然后,根据增加代码版本信息后的第一代码,利用目标请求触发流水线中的至少一个流水线任务,其中,目标请求基于包含代码版本信息的标签推送事件触发;各个流水线任务对应在独立的容器中执行;进而,针对任一流水本文档来自技高网...
【技术保护点】
1.一种流水线部署方法,其特征在于,包括:
2.根据权利要求1所述的流水线部署方法,其特征在于,所述流水线任务包含以下至少一项:代码编译构建、打包测试环境镜像、生成测试部署包、将所述测试部署包部署至测试环境、自动化测试、人工测试、打包生产环境镜像、生成生产部署包、将所述生产部署包部署至预生产环境。
3.根据权利要求1所述的流水线部署方法,其特征在于,所述针对任一所述流水线任务,调用所述流水线任务对应的插件接口,并根据所述目标请求执行所述流水线任务,包括:
4.根据权利要求3所述的流水线部署方法,其特征在于,在所述流水线任务为打包测试环境镜像的情况下,所述流水线任务的输入参数的取值为所述第二代码对应的容器镜像配置代码;所述利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果,包括:
5.根据权利要求3所述的流水线部署方法,其特征在于,在所述流水线任务为生成测试部署包的情况下,所述流水线任务的输入参数的取值为所述版本控制系统中所述第二代码对应的容器集群配置文件;所述利用所述流水线任务对应
6.根据权利要求3所述的流水线部署方法,其特征在于,在所述流水线任务为自动化测试的情况下,所述流水线任务的输入参数的取值为测试数据集和测试部署包中的测试对象;所述利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果,包括:
7.根据权利要求1-6任一项所述的流水线部署方法,其特征在于,所述版本控制系统中包含触发器,所述触发器用于触发所述流水线任务的执行。
8.一种流水线部署装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述流水线部署方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述流水线部署方法。
...【技术特征摘要】
1.一种流水线部署方法,其特征在于,包括:
2.根据权利要求1所述的流水线部署方法,其特征在于,所述流水线任务包含以下至少一项:代码编译构建、打包测试环境镜像、生成测试部署包、将所述测试部署包部署至测试环境、自动化测试、人工测试、打包生产环境镜像、生成生产部署包、将所述生产部署包部署至预生产环境。
3.根据权利要求1所述的流水线部署方法,其特征在于,所述针对任一所述流水线任务,调用所述流水线任务对应的插件接口,并根据所述目标请求执行所述流水线任务,包括:
4.根据权利要求3所述的流水线部署方法,其特征在于,在所述流水线任务为打包测试环境镜像的情况下,所述流水线任务的输入参数的取值为所述第二代码对应的容器镜像配置代码;所述利用所述流水线任务对应的插件接口,根据所述流水线任务的输入参数的取值,得到所述流水线任务对应的输出结果,包括:
5.根据权利要求3所述的流水线部署方法,其特征在于,在所述流水线任务为生成测试部署包的情况下,所述流水线任务的输入参数的取值为所述版本控制系统中所述第二代码对应的容器集群...
【专利技术属性】
技术研发人员:胡超超,任高锋,王照旗,张敏,
申请(专利权)人:北京盛邦赛云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。