System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种应用交付方法、装置、计算机设备及存储介质。
技术介绍
1、云原生生态中的容器及声明式api(application programming interface,应用程序编程接口)等技术使云原生应用交付变得更加简单和高效。通常云原生应用交付过程中会包含以下信息:①业务代码:实现了业务逻辑,通常构建成镜像文件交付。②配置文件:配置信息,通常包含应用的特性开关、服务依赖等信息。③数据文件:包含了应用依赖的数据变更,如数据库变更语句、初始化数据等信息。④部署编排:描述部署动作,通常是yaml(yaml ain't markup language,另一种标记语言)文件的格式描述。
2、随着交付频率的提升,如何确保部署编排、配置文件、数据文件、业务代码版本的一致性显得至关重要。目前,业界通常采用gitops(git与operations的组合)的交付模式来解决以上版本一致性问题。然而,gitops通常采用拉的方式,即应用变更都是由从git提交开始,存在与运行不一致性的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够保持一致性的应用交付方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种应用交付方法,包括:
3、响应于应用运行,监听集群内的部署编排文件和配置文件,获取运维变更结果;
4、若基于运维变更结果确定部署编排文件、配置文件与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.一种计算机可读存储介质,
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种应用交付方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述部署编排文件包括deployments,所述配置文件包括configmaps;
4.根据权利要求3所述的方法,其特征在于,所述deployments的变化包括:cpu、内存、副本数、调度规则以及环境变量;所述configmap的变化包括配置文件内容。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述合并请求为通过gitops控制器提交至所述git代码库;所述方法还包括:
6.根据权利要求1至4...
【专利技术属性】
技术研发人员:蓝启嵩,
申请(专利权)人:中国人寿保险股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。