CN113946323A - 基于微服务体系的在线开发方法、装置、设备及存储介质 - Google Patents
基于微服务体系的在线开发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113946323A CN113946323A CN202111080055.4A CN202111080055A CN113946323A CN 113946323 A CN113946323 A CN 113946323A CN 202111080055 A CN202111080055 A CN 202111080055A CN 113946323 A CN113946323 A CN 113946323A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- configuration
- container
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种基于微服务体系的在线开发方法、装置、设备及存储介质。本申请实施例提供的技术方案,通过保存预设的微服务程序和容器部署的配置模板;根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;根据所述表单配置参数和所述微服务代码修改容器配置和脚本;运行所述微服务代码。本申请实施例提供的技术方案能够提升微服务体系的在线开发效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种基于微服务体系的在线开发方法、装置、设备及存储介质。
背景技术
传统的软件开发过程一般是先设计数据库模型,搭建项目框架,然后再结合具体业务需求,逐步完成软件功能。其中项目框架搭建后,结合业务需求,基于框架实现各层业务逻辑,包括前端、后台、前后端功能联调等,如果存在变更,整个过程又需要重新来过,繁琐不堪,效率也难以提高。
由于传统软件开发存在诸多不足,越来越多的在线开发平台出现。尤其是对于云ERP等企业信息管理系统的开发,基本上大部分功能都可以通过配置数据模型,选择界面风格等实现在线配置生成前后端代码。代码生成以后,一般需要手动通过复制创建一个子工程或依赖一个父工程来完成项目基础框架搭建,然后编译部署验证。
每一次在线开发完业务代码之后均需要手动创建一个子工程,拷贝生成的业务代码到子工程中,编写容器部署配置、脚本,然后再做编译打包部署启动等一系列重复的操作,浪费了大量的时间,效率低,容易出错,开发成本高;而且不同的开发习惯和命名习惯,容易导致代码的可读性差,不利于代码的维护。
发明内容
本申请实施例提供一种基于微服务体系的在线开发方法、装置、设备及存储介质,能够解决微服务体系的在线开发效率低问题,提升微服务体系的在线开发效率。
在第一方面,本申请实施例提供了一种基于微服务体系的在线开发方法,包括:
保存预设的微服务程序和容器部署的配置模板;
根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;
根据所述表单配置参数和所述微服务代码修改容器配置和脚本;
运行所述微服务代码。
进一步的,所述保存预设的微服务程序和容器部署的配置模板,具体为:
预设maven程序、主程序入口类文件、配置文件和构建文件;
保存maven程序、主程序入口类文件、配置文件和构建文件组成微服务程序的配置模板。
进一步的,所述保存预设的微服务程序和容器部署的配置模板,具体为:
保存预配置的docker-compose服务模板,所述docker-compose服务模板包括容器名称、依赖容器组件类别、主机端口、容器端口映射和环境参数的配置。
进一步的,所述根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,具体为:
根据接收到客户端发送的指令,将从客户端接收指令中携带的新增表单配置参数,将所述新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板进行匹配;
选择与所述新增表单配置参数相匹配的微服务程序及其容器部署的配置模板。
进一步的,所述根据匹配到的模板基于所述表单配置参数生成对应的微服务代码,具体为:
根据选择的微服务程序及其容器部署的配置模板生成业务代码;
根据所述微服务程序配置模板、表单配置参数和业务代码生成对应的目标代码。
进一步的,所述根据所述表单配置参数和所述微服务代码修改容器配置和脚本,具体为:
根据从客户端接收的新增表单配置参数和选择的微服务程序的配置模板,修改容器的docker-compose.yml配置文件和install.sh脚本;
根据修改后的docker-compose.yml配置文件和install.sh脚本启动代码的运行。
进一步的,所述运行所述微服务代码,具体为:
对所述微服务代码编译,编译成功后通过docker-compose启动所述编译后的微服务代码。
在第二方面,本申请实施例提供了一种基于微服务体系的在线开发装置,包括:
模板预存模块,用于保存预设的微服务程序和容器部署的配置模板;
代码生成模块,用于根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;
容器修改模块,用于根据所述表单配置参数和所述微服务代码修改容器配置和脚本;
代码运行模块,用于运行所述微服务代码。
进一步的,所述模板预存模块,还用于预设maven程序、主程序入口类文件、配置文件和构建文件;保存maven程序、主程序入口类文件、配置文件和构建文件组成微服务程序的配置模板。
进一步的,所述模板预存模块,还用于保存预配置的docker-compose服务模板,所述docker-compose服务模板包括容器名称、依赖容器组件类别、主机端口、容器端口映射和环境参数的配置。
进一步的,所述代码生成模块,还用于根据接收到客户端发送的指令,将从客户端接收指令中携带的新增表单配置参数,将所述新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板进行匹配;
选择与所述新增表单配置参数相匹配的微服务程序及其容器部署的配置模板。
进一步的,所述代码生成模块,还用于根据选择的微服务程序及其容器部署的配置模板生成业务代码;
根据所述微服务程序配置模板、表单配置参数和业务代码生成对应的目标代码。
进一步的,所述容器修改模块,还用于根据从客户端接收的新增表单配置参数和选择的微服务程序的配置模板,修改容器的docker-compose.yml配置文件和install.sh脚本;
根据修改后的docker-compose.yml配置文件和install.sh脚本启动代码的运行。
进一步的,所述代码运行模块,还用于对所述微服务代码编译,编译成功后通过docker-compose启动所述编译后的微服务代码。
在第三方面,本申请实施例提供了一种电子设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于微服务体系的在线开发方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于微服务体系的在线开发方法。
本申请实施例通过保存预设的微服务程序和容器部署的配置模板,根据接收到的指令中携带的表单配置参数进行微服务程序和容器部署配置模板的匹配,根据匹配结果生成对应的微服务代码以及修改对应的容器配置和脚本,启动运行所述为服务器代码。采用上述技术手段,可以在系统内部直接匹配生成对应的微服务代码并启动,避免了人工手动拷贝代码的操作,从而提高了工作效率和节省了开发时间;此外,系统内部直接匹配生成代码后作对应的容器的配置和脚本的修改,使得能够直接启动所述为服务器代码,实现新增业务模块服务功能,从而优化用户的使用体验。
附图说明
图1是本申请实施例一提供的一种基于微服务体系的在线开发方法的流程图;
图2是本申请实施例二提供的一种基于微服务体系的在线开发装置的结构示意图;
图3是本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的基于微服务体系的在线开发方法、装置、设备及存储介质,旨在进行在线开发时,通过在系统内部直接匹配生成对应的微服务代码并启动,避免了人工手动拷贝代码的操作,从而提高了工作效率和节省了开发时间;此外,系统内部直接匹配生成代码后作对应的容器的配置和脚本的修改,使得能够直接启动所述为服务器代码,实现新增业务模块服务功能,从而优化用户的使用体验。相对于传统的在线开发方式,其通常代码生成以后,一般需要手动通过复制创建一个子工程或依赖一个父工程来完成项目基础框架搭建,然后编译部署验证。手动进行复制和编译部署验证比较繁琐,且人工参与也比较容易出错,从而导致工作效率低下。基于此,提供本申请实施例的基于微服务体系的在线开发方法。以解决现有在线开发过程中的工作效率低下的问题。
实施例一:
图1给出了本申请实施例一提供的一种基于微服务体系的在线开发方法的流程图,本实施例中提供的基于微服务体系的在线开发方法可以由基于微服务体系的在线开发设备执行,该基于微服务体系的在线开发设备可以通过软件和/或硬件的方式实现,该基于微服务体系的在线开发设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该基于微服务体系的在线开发设备可以是智能终端,如计算机等。
下述以计算机为执行基于微服务体系的在线开发方法的主体为例,进行描述。参照图1,该基于微服务体系的在线开发方法具体包括:
S101、保存预设的微服务程序和容器部署的配置模板。
具体的,预设maven程序、主程序入口类文件、配置文件和构建文件;保存maven程序、主程序入口类文件、配置文件和构建文件组成微服务程序的配置模板。
保存预配置的docker-compose服务模板,所述docker-compose服务模板包括容器名称、依赖容器组件类别、主机端口、容器端口映射和环境参数的配置。
示例性的,预设微服务程序和容器部署的配置模板的步骤为:预设某类型的服务模板,如web_db_nacos,所述服务模板包括微服务程序部分及其容器部署部分;所述微服务程序,例如maven程序,包含主程序入口类文件、配置文件和构建文件;所述容器部分为docker-compose服务配置模板,比如容器名称、依赖哪些容器组件、主机端口与容器端口映射、环境参数等等。
在一实施例中,预设的微服务程序和容器部署的配置模板具体步骤为:预设web_db_nacos微服务模板,所述web_db_nacos微服务模板包括微服务程序部分及其容器部署部分。所述微服务程序部分以maven程序为例,所述maven程序包括主程序入口类文件、application.yml配置文件和pom.xml构建文件。其中,所述主程序入口类文件,通过@SpringBootApplication标注在主程序类上,说明这个类是SpringBoot的主配置类,通过其他相关注解把相应的功能引入,如通过@EnableDiscoveryClient让注册中心能够发现并扫描到该服务,并在main方法中启动SpringBoot应用。所述application.yml配置文件包括web_db_nacos该类微服务模板所需要的配置项,即配置项中有数据库的默认配置和nacos的默认配置的web工程模板,一般仅需修改端口和应用名即可。所述pom.xml构建文件中包含template_db_nacos,该类微服务模板所需要的依赖包和构建插件,一般仅需修改工程名。所述容器部署部分是docker-compose服务配置模板,比如容器名称、依赖哪些容器组件、主机端口与容器端口映射、环境参数等等。
S102、根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码。
具体的,根据接收到客户端发送的指令,将从客户端接收指令中携带的新增表单配置参数,将所述新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板进行匹配;选择与所述新增表单配置参数相匹配的微服务程序及其容器部署的配置模板。根据选择的微服务程序及其容器部署的配置模板生成业务代码;根据所述微服务程序配置模板、表单配置参数和业务代码生成对应的目标代码。
示例性的,所述客户端发送的指令为在客户端触发对应的增加开发业务的功能的入口,并根据触发的出口进行对应的新增表单配置参数的填写,所述新增表单配置参数包括新业务模块的表名、选择主题模板(如ERP主题一对多)、表单风格(如一列、两列)和录入各个属性字段的数据库属性、页面属性、外键等。接收来自所述客户端发送的增加开发业务的指令和所述新增表单配置参数,将所述新增表单配置参数的参数信息同步到数据库中,验证数据库中所述新增表单配置参数信息是否符合预期,若符合则进行后续的新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板匹配,若不符合则重新接收所述新增表单配置参数直至符合预期为止。
在一实施例中,在客户端的线开发平台中,通过在线表单开发模块点击【新增】,弹出在线开发新增表单配置参数窗口,录入新业务模块的表名、选择主题模板(如ERP主题一对多)、表单风格(如一列、两列)和录入各个属性字段的数据库属性、页面属性、外键等,点击“确定”,系统新增表单配置参数成功;选中新增的表单配置参数记录,点击操作“同步到数据库”,表单成功同步到数据库;同步数据库成功后,可以通过表单的【功能测试】功能检查表单配置参数是否符合预期,不符合则重新编辑该业务表单配置参数至符合预期为止;
示例性的,将验证符合预期的所述新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板进行匹配;选择与所述新增表单配置参数相匹配的微服务程序及其容器部署的配置模板。根据选择的微服务程序及其容器部署的配置模板生成业务代码;根据所述微服务程序配置模板、表单配置参数和业务代码生成对应的目标代码。
在一实施例中,在客户端选择对应的业务表单配置参数,发送对应的【生成服务代码】指令和所述表单配置参数信息,根据接收所述客户端发送的指令和对应的所述表单配置参数信息,反馈生成对应的微服务代码配置指令发送至客户端,所述客户端弹出生成服务代码配置窗口,用户需要填入模块名称、服务端口、选择微服务模板等,接收客户端发送对应的模块名称、服务端口、选择微服务模板等信息;根据接收到的所述选择微服务模板生成的业务代码;根据所选微服务模板、配置参数信息和业务代码,生成对应的业务模块微服务的目标代码。
在一实施例中,在容器部署工程的micro-moudle下自动生成对应业务模块的目录,并在目录下生成对应的Dockerfile配置文件;Dockerfile描述镜像安装了哪些软件包,有哪些操作,创建了什么东西等等,可以用它快速创建自定义的镜像。
S103、根据所述表单配置参数和所述微服务代码修改容器配置和脚本。
具体的,根据从客户端接收的新增表单配置参数和选择的微服务程序的配置模板,修改容器的docker-compose.yml配置文件和install.sh脚本;根据修改后的docker-compose.yml配置文件和install.sh脚本启动代码的运行。
示例性的,根据模块名称、服务端口、微服务模板,修改容器部署工程下的docker-compose.yml配置文件和install.sh脚本,添加新增模块的部署配置和服务启动脚本;修改容器部署工程的pom.xml构建文件,添加将新增模块工程打包的jar拷贝至容器部署工程对应业务模块的目录下。
S104、运行所述微服务代码。
具体的,对所述微服务代码编译,编译成功后通过docker-compose启动所述编译后的微服务代码。
示例性的,自动编译部署步骤S103所生成的容器部署和微服务代码,编译成功后通过docker-compose启动新增的微服务代码。
在一实施例中,在自动编译部署后进行菜单的配置,重新登录系统并验证新增业务模块的功能,完成新增业务开完成之后的验证。
本申请实施例解决了开发人员每一次在线开发完业务代码之后均需要手动创建一个子工程,拷贝生成的代码到子工程中,编写容器部署配置和脚本,然后再做编译打包部署启动等一系列繁琐操作的问题。为开发人员节省大量时间,提高效率并且降低开发成本,同时还提高了代码的可读性。
上述,通过保存预设的微服务程序和容器部署的配置模板,根据接收到的指令中携带的表单配置参数进行微服务程序和容器部署配置模板的匹配,根据匹配结果生成对应的微服务代码以及修改对应的容器配置和脚本,启动运行所述为服务器代码。采用上述技术手段,可以在系统内部直接匹配生成对应的微服务代码并启动,避免了人工手动拷贝代码的操作,从而提高了工作效率和节省了开发时间;此外,系统内部直接匹配生成代码后作对应的容器的配置和脚本的修改,使得能够直接启动所述为服务器代码,实现新增业务模块服务功能,从而优化用户的使用体验。
实施例二:
在上述实施例的基础上,图3为本申请实施例二提供的一种基于微服务体系的在线开发装置的结构示意图。参考图3,本实施例提供的基于微服务体系的在线开发装置具体包括:模板预存模块21、代码生成模块22、容器修改模块23和代码运行模块24。
其中,模板预存模块21,用于保存预设的微服务程序和容器部署的配置模板;代码生成模块22,用于根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;容器修改模块23,用于根据所述表单配置参数和所述微服务代码修改容器配置和脚本;代码运行模块24,用于运行所述微服务代码。
具体的,所述模板预存模块21,还用于预设maven程序、主程序入口类文件、配置文件和构建文件;保存maven程序、主程序入口类文件、配置文件和构建文件组成微服务程序的配置模板。
具体的,所述模板预存模块21,还用于保存预配置的docker-compose服务模板,所述docker-compose服务模板包括容器名称、依赖容器组件类别、主机端口、容器端口映射和环境参数的配置。
具体的,所述代码生成模块22,还用于根据接收到客户端发送的指令,将从客户端接收指令中携带的新增表单配置参数,将所述新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板进行匹配;选择与所述新增表单配置参数相匹配的微服务程序及其容器部署的配置模板。
具体的,所述代码生成模块22,还用于根据选择的微服务程序及其容器部署的配置模板生成业务代码;根据所述微服务程序配置模板、表单配置参数和业务代码生成对应的目标代码。
具体的,所述容器修改模块23,还用于根据从客户端接收的新增表单配置参数和选择的微服务程序的配置模板,修改容器的docker-compose.yml配置文件和install.sh脚本;根据修改后的docker-compose.yml配置文件和install.sh脚本启动代码的运行。
具体的,所述代码运行模块24,还用于对所述微服务代码编译,编译成功后通过docker-compose启动所述编译后的微服务代码。
上述,通过保存预设的微服务程序和容器部署的配置模板,根据接收到的指令中携带的表单配置参数进行微服务程序和容器部署配置模板的匹配,根据匹配结果生成对应的微服务代码以及修改对应的容器配置和脚本,启动运行所述为服务器代码。采用上述技术手段,可以在系统内部直接匹配生成对应的微服务代码并启动,避免了人工手动拷贝代码的操作,从而提高了工作效率和节省了开发时间;此外,系统内部直接匹配生成代码后作对应的容器的配置和脚本的修改,使得能够直接启动所述为服务器代码,实现新增业务模块服务功能,从而优化用户的使用体验。
本申请实施例二提供的基于微服务体系的在线开发装置可以用于执行上述实施例一提供的基于微服务体系的在线开发方法,具备相应的功能和有益效果。
实施例三:
本申请实施例三提供了一种电子设备,参照图3,该电子设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。该电子设备中处理器的数量可以是一个或者多个,该电子设备中的存储器的数量可以是一个或者多个。该电子设备的处理器、存储器、通信模块、输入装置及输出装置可以通过总线或者其他方式连接。
存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的基于微服务体系的在线开发方法对应的程序指令/模块(例如,基于微服务体系的在线开发装置中的模板预存模块、代码生成模块、容器修改模块和代码运行模块)。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块33用于进行数据传输。
处理器31通过运行存储在存储器中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于微服务体系的在线开发方法。
输入装置34可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。
上述提供的电子设备可用于执行上述实施例一提供的基于微服务体系的在线开发方法,具备相应的功能和有益效果。
实施例四:
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于微服务体系的在线开发方法,该基于微服务体系的在线开发方法包括:保存预设的微服务程序和容器部署的配置模板;根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;根据所述表单配置参数和所述微服务代码修改容器配置和脚本;运行所述微服务代码。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于微服务体系的在线开发方法,还可以执行本申请任意实施例所提供的基于微服务体系的在线开发方法中的相关操作。
上述实施例中提供的基于微服务体系的在线开发装置、存储介质及电子设备可执行本申请任意实施例所提供的基于微服务体系的在线开发方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于微服务体系的在线开发方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种基于微服务体系的在线开发方法,其特征在于,包括:
保存预设的微服务程序和容器部署的配置模板;
根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;
根据所述表单配置参数和所述微服务代码修改容器配置和脚本;
运行所述微服务代码。
2.根据权利要求1所述的基于微服务体系的在线开发方法,其特征在于,所述保存预设的微服务程序和容器部署的配置模板,具体为:
预设maven程序、主程序入口类文件、配置文件和构建文件;
保存maven程序、主程序入口类文件、配置文件和构建文件组成微服务程序的配置模板。
3.根据权利要求1所述的基于微服务体系的在线开发方法,其特征在于,所述保存预设的微服务程序和容器部署的配置模板,具体为:
保存预配置的docker-compose服务模板,所述docker-compose服务模板包括容器名称、依赖容器组件类别、主机端口、容器端口映射和环境参数的配置。
4.根据权利要求1所述的基于微服务体系的在线开发方法,其特征在于,所述根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,具体为:
根据接收到客户端发送的指令,将从客户端接收指令中携带的新增表单配置参数,将所述新增表单配置参数与对应保存预设的微服务程序及其容器部署的配置模板进行匹配;
选择与所述新增表单配置参数相匹配的微服务程序及其容器部署的配置模板。
5.根据权利要求4所述的基于微服务体系的在线开发方法,其特征在于,所述根据匹配到的模板基于所述表单配置参数生成对应的微服务代码,具体为:
根据选择的微服务程序及其容器部署的配置模板生成业务代码;
根据所述微服务程序配置模板、表单配置参数和业务代码生成对应的目标代码。
6.根据权利要求5所述的基于微服务体系的在线开发方法,其特征在于,所述根据所述表单配置参数和所述微服务代码修改容器配置和脚本,具体为:
根据从客户端接收的新增表单配置参数和选择的微服务程序的配置模板,修改容器的docker-compose.yml配置文件和instal l.sh脚本;
根据修改后的docker-compose.yml配置文件和instal l.sh脚本启动代码的运行。
7.根据权利要求1所述的基于微服务体系的在线开发方法,其特征在于,所述运行所述微服务代码,具体为:
对所述微服务代码编译,编译成功后通过docker-compose启动所述编译后的微服务代码。
8.一种基于微服务体系的在线开发装置,其特征在于,包括:
模板预存模块,用于保存预设的微服务程序和容器部署的配置模板;
代码生成模块,用于根据接收到的指令中携带的表单配置参数,进行微服务程序和容器部署配置模板的匹配,根据匹配到的模板基于所述表单配置参数生成对应的微服务代码;
容器修改模块,用于根据所述表单配置参数和所述微服务代码修改容器配置和脚本;
代码运行模块,用于运行所述微服务代码。
9.一种电子设备,其特征在于,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111080055.4A CN113946323A (zh) | 2021-09-15 | 2021-09-15 | 基于微服务体系的在线开发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111080055.4A CN113946323A (zh) | 2021-09-15 | 2021-09-15 | 基于微服务体系的在线开发方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946323A true CN113946323A (zh) | 2022-01-18 |
Family
ID=79328546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111080055.4A Pending CN113946323A (zh) | 2021-09-15 | 2021-09-15 | 基于微服务体系的在线开发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946323A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002069A (zh) * | 2022-06-24 | 2022-09-02 | 中国电信股份有限公司 | 端口映射方法、装置、电子设备及存储介质 |
CN116028069A (zh) * | 2023-02-07 | 2023-04-28 | 之江实验室 | 一种模型部署的方法、装置、存储介质及电子设备 |
WO2023142082A1 (zh) * | 2022-01-29 | 2023-08-03 | 西门子股份公司 | 设备控制方法、装置、平台和计算机可读介质 |
-
2021
- 2021-09-15 CN CN202111080055.4A patent/CN113946323A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023142082A1 (zh) * | 2022-01-29 | 2023-08-03 | 西门子股份公司 | 设备控制方法、装置、平台和计算机可读介质 |
CN115002069A (zh) * | 2022-06-24 | 2022-09-02 | 中国电信股份有限公司 | 端口映射方法、装置、电子设备及存储介质 |
CN115002069B (zh) * | 2022-06-24 | 2023-10-31 | 中国电信股份有限公司 | 端口映射方法、装置、电子设备及存储介质 |
CN116028069A (zh) * | 2023-02-07 | 2023-04-28 | 之江实验室 | 一种模型部署的方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113946323A (zh) | 基于微服务体系的在线开发方法、装置、设备及存储介质 | |
US10110663B2 (en) | Method and system for publishing virtual applications to a web server | |
US10447814B2 (en) | Joint servicing of software packages | |
US20100058331A1 (en) | Automated deployment of defined topology in distributed computing environment | |
US7437706B2 (en) | Automating the life cycle of a distributed computing application | |
US9081579B2 (en) | System and method for mobile application development | |
US9848277B2 (en) | High-speed application for installation on mobile devices for permitting remote configuration of such mobile devices | |
US9122460B2 (en) | Application development using middleware platform | |
CN105630488A (zh) | 一种基于docker容器技术的持续集成实现方法 | |
US20070073724A1 (en) | System and method for automatic or semi-automatic software integration | |
US20080301626A1 (en) | Template-based software development | |
WO2013109860A1 (en) | Software builder | |
US20160224335A1 (en) | Mobile enabled application | |
WO2023039741A1 (zh) | 基于微服务体系的在线开发方法、装置、设备及存储介质 | |
CN112214227A (zh) | 一种边缘服务器镜像定制化及部署系统和方法 | |
CN115658496A (zh) | 可扩展的Web自动化测试方法、系统、设备及存储介质 | |
CN111782207A (zh) | 任务流代码生成方法、装置、设备及存储介质 | |
CN112379934B (zh) | 一种云计算平台的部署方法及装置、存储介质 | |
US10606569B2 (en) | Declarative configuration elements | |
CN108287720A (zh) | 软件编译方法、装置、设备及存储介质 | |
Thomas et al. | Simulation factory: Taming application configuration and workflow on high-end resources | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
CN116055321B (zh) | 适用于私有云的云产品更新方法、装置及存储介质 | |
CN114443069B (zh) | 一种动态扩展的集群构建操作系统镜像的方法、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |