System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用交付方法、装置、计算机设备及存储介质制造方法及图纸_技高网

应用交付方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:40581215 阅读:7 留言:0更新日期:2024-03-06 17:24
本申请涉及一种应用交付方法、装置、计算机设备及存储介质。所述方法包括:响应于应用运行,监听集群内的部署编排文件和配置文件,获取运维变更结果;若基于运维变更结果确定部署编排文件、配置文件与Git代码库中的文件存在差异,输出携带有目标代码的合并请求;合并请求用于指示将目标代码合并到Git代码库中的预设分支。采用本方法能够对于小的运维改动实现便捷的日常应用交付,而不需要经过Git提交之后的测试、审批流程,提高了应用交付效率。

【技术实现步骤摘要】

本申请涉及计算机,特别是涉及一种应用交付方法、装置、计算机设备及存储介质


技术介绍

1、云原生生态中的容器及声明式api(application programming interface,应用程序编程接口)等技术使云原生应用交付变得更加简单和高效。通常云原生应用交付过程中会包含以下信息:①业务代码:实现了业务逻辑,通常构建成镜像文件交付。②配置文件:配置信息,通常包含应用的特性开关、服务依赖等信息。③数据文件:包含了应用依赖的数据变更,如数据库变更语句、初始化数据等信息。④部署编排:描述部署动作,通常是yaml(yaml ain't markup language,另一种标记语言)文件的格式描述。

2、随着交付频率的提升,如何确保部署编排、配置文件、数据文件、业务代码版本的一致性显得至关重要。目前,业界通常采用gitops(git与operations的组合)的交付模式来解决以上版本一致性问题。然而,gitops通常采用拉的方式,即应用变更都是由从git提交开始,存在与运行不一致性的问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够保持一致性的应用交付方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本申请提供了一种应用交付方法,包括:

3、响应于应用运行,监听集群内的部署编排文件和配置文件,获取运维变更结果;

4、若基于运维变更结果确定部署编排文件、配置文件与git代码库中的文件存在差异,输出携带有目标代码的合并请求;合并请求用于指示将目标代码合并到git代码库中的预设分支。

5、在其中一个实施例中,方法还包括:

6、将合并请求发送至终端设备,合并请求用于指示终端设备反馈针对目标代码的审核结果;审核结果用于表征目标代码是否与待变更的运维功能相对应;

7、当接收到的审核结果表示审核通过,则将目标代码合并到git代码库的预设分支。

8、在其中一个实施例中,部署编排文件包括deployments,配置文件包括configmaps;

9、响应于应用运行,监听集群内的部署编排文件和配置文件,获取运维变更结果,包括:

10、响应于应用在启动运行阶段所对应的kubernetes容器运行,通过kubernetes容器的控制器监听集群内configmaps、deployments的变化,得到运维变更结果。

11、在其中一个实施例中,deployments的变化包括:cpu、内存、副本数、调度规则以及环境变量;configmap的变化包括配置文件内容。

12、在其中一个实施例中,合并请求为通过gitops控制器提交至git代码库;方法还包括:

13、确定对应合并请求的本次git提交是否符合准入条件;

14、若本次git提交不符合准入条件,则输出提示信息;提示信息用于指示git提交对应的正常变更操作覆盖目标代码对应的运维变更操作。

15、在其中一个实施例中,预设分支包括经标准化所确认的部署编排、配置文件、数据文件的存放目录。

16、第二方面,本申请还提供了一种应用交付装置,包括:

17、监听模块,用于响应于应用运行,监听集群内的部署编排文件和配置文件,获取运维变更结果;

18、合并请求模块,用于若基于运维变更结果确定部署编排文件、配置文件与git代码库中的文件存在差异,输出携带有目标代码的合并请求;合并请求用于指示将目标代码合并到git代码库中的预设分支。

19、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。

20、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

21、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。

22、上述应用交付方法、装置、计算机设备及存储介质,响应于应用运行,监听集群内的部署编排文件和配置文件,获取运维变更结果;若基于运维变更结果确定部署编排文件、配置文件与git代码库中的文件存在差异,输出携带有目标代码的合并请求;合并请求用于指示将目标代码合并到git代码库中的预设分支。对于小的运维改动,能够实现便捷的日常应用交付,而不需要经过git提交之后的测试、审批流程,提高了应用交付效率。

本文档来自技高网...

【技术保护点】

1.一种应用交付方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述部署编排文件包括Deployments,所述配置文件包括ConfigMaps;

4.根据权利要求3所述的方法,其特征在于,所述Deployments的变化包括:cpu、内存、副本数、调度规则以及环境变量;所述Configmap的变化包括配置文件内容。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述合并请求为通过GitOps控制器提交至所述Git代码库;所述方法还包括:

6.根据权利要求1至4任一项所述的方法,其特征在于,所述预设分支包括经标准化所确认的部署编排、配置文件、数据文件的存放目录。

7.一种应用交付装置,其特征在于,所述装置包括:

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种应用交付方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述部署编排文件包括deployments,所述配置文件包括configmaps;

4.根据权利要求3所述的方法,其特征在于,所述deployments的变化包括:cpu、内存、副本数、调度规则以及环境变量;所述configmap的变化包括配置文件内容。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述合并请求为通过gitops控制器提交至所述git代码库;所述方法还包括:

6.根据权利要求1至4...

【专利技术属性】
技术研发人员:蓝启嵩
申请(专利权)人:中国人寿保险股份有限公司
类型:发明
国别省市:

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

1