System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种云原生环境下应用程序部署方法、设备及介质技术_技高网

一种云原生环境下应用程序部署方法、设备及介质技术

技术编号:40475784 阅读:5 留言:0更新日期:2024-02-26 19:12
本申请实施例公开了一种云原生环境下应用程序部署方法、设备及介质。包括,获取配置文件自动生成命令,基于配置文件自动生成命令进行触发,以将多种预置钩子函数装载至装载模块;基于多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境;根据语言环境确定出相应的配置文件模板;基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数;根据配置文件模板与模板参数,生成配置文件,以通过配置文件完成云原生环境下应用程序部署。通过上述方法,降低云原生环境下应用程序部署的时间和成本。

【技术实现步骤摘要】

本申请涉及工业互联网,尤其涉及一种云原生环境下应用程序部署方法、设备及介质


技术介绍

1、云原生是一种新型技术体系,是云计算未来的发展方向围绕基础设施、应用架构、开发运维等场景,让系统更加弹性可靠容错、松耦合、易管理、可观测,充分发挥云计算的优势,提升技术效率,应用原生被设计为在云上以最佳方式运行,充分发挥云的优势,是上云的最短路径。k8s是开源的容器集群管理系统,是云原生的主要承载技术,在docker技术的基础上,用于管理云平台中多个主机上的容器化应用,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。pod是kubernetes的最小工作单元。每个pod包含一个或多个容器。pod中的容器会作为一个整体被k8s调度到集群中的一个node上运行。应用运行在容器中,由k8s云平台统一分配计算、网络、存储资源。容器占用的资源更少,具有更快的启动速度,对于微服务化应用、分布式应用具有更好的服务治理、资源弹性伸缩、滚动升级等特性。

2、越来越多的企业在数字化转型中应用上云通常采用容器化的方式,但是由于容器化的技术门槛较高,专业性比较强,需要请专门的技术人员才能完成容器化的改造,以致耗费大量的时间和成本。


技术实现思路

1、本申请实施例提供了一种云原生环境下应用程序部署方法、设备及介质,用于解决如下技术问题:由于容器化的技术门槛较高,专业性比较强,需要请专门的技术人员才能完成容器化的改造,以致耗费大量的时间和成本。>

2、本申请实施例采用下述技术方案:

3、本申请实施例提供一种云原生环境下应用程序部署方法。包括,获取配置文件自动生成命令,基于所述配置文件自动生成命令进行触发,以将多种预置钩子函数装载至装载模块;基于所述多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境;根据所述语言环境确定出相应的配置文件模板;基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数;根据所述配置文件模板与所述模板参数,生成配置文件,以通过所述配置文件完成云原生环境下应用程序部署。

4、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例基于配置文件自动生成命令进行触发,基于多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境,从而基于项目源代码自动检测应用程序的开发语言框架,为应用程序自动生成用于制作容器镜像的dockerfile文件和用于在云原生环境中部署的yaml配置文件。当应用程序需要进行容器化改造时,改造过程不需要开发人员手动进行容器化改造,而是通过快速容器化工具自动进行容器化改造,提高了容器化改造的效率,降低了容器化改造的技术门槛,降低了企业应用上云的成本。

5、在本申请的一种实现方式中,基于所述多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境,具体包括:基于所述多种预置钩子函数进行工作空间检测,并获取所述多种预置钩子函数分别对应的检测返回结果;将工作空间检测返回成功的钩子函数作为参考钩子函数;通过所述参考钩子函数检测到的工作空间,进行语言环境检测,以以确定出工作空间对应的语言环境。

6、在本申请的一种实现方式中,根据所述语言环境确定出相应的配置文件模板,具体包括:根据工作空间内的预置项目配置文件,确定出开发语言;通过所述参考钩子函数,基于所述开发语言加载相应的配置文件模板;其中,所述配置文件模板至少包括dockerfile文件模板以及yaml文件模版中的一项。

7、在本申请的一种实现方式中,基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数,具体包括:通过所述参考钩子函数对所述参数生成模块的预置参数自动生成函数进行调用;基于所述预置参数自动生成函数,对所述当前工程内的预置配置数据进行参数提取,以确定出所述模板参数;其中,所述当前工程内的预置配置数据至少包括projectname、artifactname、artifactid以及version中的一项。

8、在本申请的一种实现方式中,根据所述配置文件模板与所述模板参数,生成配置文件,具体包括:基于配置文件生成模块中的预置模板参数渲染函数,将所述模板参数渲染至所述配置文件模板中,以生成所述配置文件。

9、在本申请的一种实现方式中,获取配置文件自动生成命令,基于所述配置文件自动生成命令进行触发,以将多种预置钩子函数装载至装载模块,具体包括:通过命令行模块运行配置文件自动生成命令;在获取到所述配置文件自动生成命令的情况下,对预置触发器进行触发,以将所述多种预置钩子函数装载至所述装载模块;其中,所述多种预置钩子函数分别对应有不同的开发语言。

10、在本申请的一种实现方式中,基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数之后,所述方法还包括:确定出所述配置文件模板中所需的数据数量与数据类型;以及确定出所述模板参数所对应的参数数量与参数类型;将所述数据数量与所述参数数量进行比对;在比对结果不一致的情况下,基于所述参数类型对所述配置文件模板进行调整。

11、在本申请的一种实现方式中,在比对结果不一致的情况下,基于所述参数类型对所述配置文件模板进行调整,具体包括:在比对结果不一致的情况下,将所述参数类型与数据类型进行比对,以确定出不一致的数据类型;在所述配置文件模板中对所述不一致的数据类型进行标注,以及所述不一致的数据类型对应的模板参数进行标注;基于标注的数据类型,在所述配置文件中进行删除处理或添加处理;以及对所述模板参数进行删除处理。

12、本申请实施例提供一种云原生环境下应用程序部署设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取配置文件自动生成命令,基于所述配置文件自动生成命令进行触发,以将多种预置钩子函数装载至装载模块;基于所述多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境;根据所述语言环境确定出相应的配置文件模板;基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数;根据所述配置文件模板与所述模板参数,生成配置文件,以通过所述配置文件完成云原生环境下应用程序部署。

13、本申请实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:获取配置文件自动生成命令,基于所述配置文件自动生成命令进行触发,以将多种预置钩子函数装载至装载模块;基于所述多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境;根据所述语言环境确定出相应的配置文件模板;基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数;根据所述配置文件模板与所述模板参数,生成配置文件,以通过所述配置文件完成云原本文档来自技高网...

【技术保护点】

1.一种云原生环境下应用程序部署方法,其特征在于,所述方法包括:

2.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述基于所述多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境,具体包括:

3.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述根据所述语言环境确定出相应的配置文件模板,具体包括:

4.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数,具体包括:

5.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述根据所述配置文件模板与所述模板参数,生成配置文件,具体包括:

6.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述获取配置文件自动生成命令,基于所述配置文件自动生成命令进行触发,以将多种预置钩子函数装载至装载模块,具体包括:

7.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数之后,所述方法还包括:

8.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述在比对结果不一致的情况下,基于所述参数类型对所述配置文件模板进行调整,具体包括:

9.一种云原生环境下应用程序部署设备,包括:

10.一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

...

【技术特征摘要】

1.一种云原生环境下应用程序部署方法,其特征在于,所述方法包括:

2.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述基于所述多种预置钩子函数进行工作空间检测,以确定出工作空间对应的语言环境,具体包括:

3.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述根据所述语言环境确定出相应的配置文件模板,具体包括:

4.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述基于参数生成模块的预置参数自动生成函数与当前工程内的预置配置数据,确定出模板参数,具体包括:

5.根据权利要求1所述的种云原生环境下应用程序部署方法,其特征在于,所述根据所述配置文件模板与所述模板参数,生成配置文件,具体包括:

【专利技术属性】
技术研发人员:田铭肖雪魏红徐继浩肖明东
申请(专利权)人:浪潮云洲工业互联网有限公司
类型:发明
国别省市:

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

1