CN114297073A - 一种基于微服务的自动部署的方法及装置 - Google Patents
一种基于微服务的自动部署的方法及装置 Download PDFInfo
- Publication number
- CN114297073A CN114297073A CN202111643861.8A CN202111643861A CN114297073A CN 114297073 A CN114297073 A CN 114297073A CN 202111643861 A CN202111643861 A CN 202111643861A CN 114297073 A CN114297073 A CN 114297073A
- Authority
- CN
- China
- Prior art keywords
- service
- module
- deployment
- automatic
- micro
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于微服务的自动部署的方法及装置,方法包括合并业务代码,并提供所需微服务的自动化配置文件;设计自动化部署微服务模型,并提供代码打包、调用的标准化接口;通过调用自动化部署接口,创建自动化部署任务,通过调用完成应用的打包、测试、部署;推送执行任务,完成微服务业务接口的开放,实现业务信息交互;编写基于业务的自动化测试脚本,运行脚本,生成测试报告。本发明将自动化和持续集成思想结合,不同于现有的孤立互相没有联系的脚本,而是微服务下自动化部署,更加容易新增和优化组件功能,使部署操作更加稳定和高效。通过标准化封装模型,可以将打包、测试、部署等基础的公共的功能封装为通用的服务,实现高效迭代。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于微服务的自动部署的方法及装置。
背景技术
微服务是一种架构模式,它提倡将单一应用程序划分成一组小的服务,这些小型服务在进程中独立运行,服务与服务间采用轻量级的通信机制互相协作,每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境;在设计微服务架构时,根据业务线进行划分,可以有效的减少服务内部修改所产生的内耗,降低后期变更成本。研发团队在面对实际的开发工作时,需要更加快速的、频繁的迭代,缺少一个可靠的自动化交付机制,无法有效把控迭代的精准与快速,使得在开发、测试、部署上的沟通成本非常大,经常为了业务的可靠部署需要人为干预,实际工作中会采用分散的脚本文件来执行自动化工作,这不仅难于维护管理,也极大的降低团队的开发效率,不利于产品的快速迭代。
发明内容
本发明提供了一种基于微服务的自动部署的方法及装置,能够通过微服务架构实现统一的接口规范来制定业务自动化部署流程,消除面对快速、频繁迭代情况下的人工干预,解决开发交付流程低效的问题。
本发明采用的技术方案是:提供一种基于微服务的自动部署的方法,包括如下步骤:
合并业务代码,并提供所需微服务的自动化配置文件;
设计自动化部署微服务模型,并提供代码打包、调用的标准化接口;
通过调用自动化部署接口,创建自动化部署任务,通过调用完成应用的打包、测试、部署;
推送执行任务,完成微服务业务接口的开放,实现业务信息交互;
编写基于业务的自动化测试脚本,运行脚本,生成测试报告。
优选的,所述创建自动化部署任务包括:定义代码仓库和构建分支。
优选的,所述调用自动化部署接口时,通过所述代码仓库源地址进行代码拉取。
优选的,所述自动化部署微服务模型包括服务配置模块、构建模块、服务封装与发布模块、推送模块、自动化测试模块、自动化部署模块;
服务配置模块,用于配置微服务与通用基础环境相关的静态配置信息,包括微服务的名称运行IP地址和端口、开发方以及功能描述;
服务构建模块,用于通过调用服务配置模块接口,来创建自动化打包任务;
服务封装与发布模块,用于通过各种接口进行微服务的注册、监控、调度、消息交互以及通过配置模板进行标准化封装与发布;
推送模块,用于通过自动化部署服务,创建部署任务,并推送到封装与发布模块进行注册;
自动化测试模块,提供测试接口,通过调用自动化测试接口执行测试任务并生成测试报告;
自动化部署模块,用于开发人员通过提交业务代码或合并业务代码,调用微服务中定义的自动化部署任务,完成一次迭代。
本发明还提供一种基于微服务的自动部署的装置,包括服务配置模块、构建模块、服务封装与发布模块、推送模块、自动化测试模块、自动化部署模块;
服务配置模块,用于配置微服务与通用基础环境相关的静态配置信息,包括微服务的名称运行IP地址和端口、开发方以及功能描述;
服务构建模块,用于通过调用服务配置模块接口,来创建自动化打包任务;
服务封装与发布模块,用于通过各种接口进行微服务的注册、监控、调度、消息交互以及通过配置模板进行标准化封装与发布;
推送模块,用于通过自动化部署服务,创建部署任务,并推送到封装与发布模块进行注册;
自动化测试模块,提供测试接口,通过调用自动化测试接口执行测试任务并生成测试报告;
自动化部署模块,用于开发人员通过提交业务代码或合并业务代码,调用微服务中定义的自动化部署任务,完成一次迭代。
本发明的有益效果是:
(1)、本发明将自动化和持续集成思想结合,和现有技术相比,不采用孤立互相没有联系的脚本,而是微服务下自动化部署,更加容易新增和优化组件功能,使部署操作更加稳定和高效。
(2)、本发明通过标准化封装模型,可以将打包、测试、部署等基础的公共的功能封装为通用的服务,实现高效迭代。
(3)、通过该方法,将海量业务应用自动化打包,解决了脚本自动化所面临的人为错误、效率低的缺陷,建立了一套自动化的部署流程,保证可靠的同时提高了开发效率。
附图说明
图1为本发明公开的基于微服务的自动部署的方法的流程示意图。
图2为本发明公开的基于微服务的自动部署的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步详细描述,但本发明的实施方式不限于此。
实施例1:
参见图1,本实施例公开一种基于微服务的自动部署的方法,包括如下步骤:
S1、合并业务代码,并提供所需微服务的自动化配置文件;
S2、设计自动化部署微服务模型,并提供代码打包、调用的标准化接口;
S3、通过调用自动化部署接口,创建自动化部署任务,通过调用完成应用的打包、测试、部署;
S4、推送执行任务,完成微服务业务接口的开放,实现业务信息交互;
S5、编写基于业务的自动化测试脚本,运行脚本,生成测试报告。
具体的,所述创建自动化部署任务包括:定义代码仓库和构建分支。
所述调用自动化部署接口时,通过所述代码仓库源地址进行代码拉取。
所述自动化部署微服务模型包括服务配置模块、构建模块、服务封装与发布模块、推送模块、自动化测试模块、自动化部署模块;
服务配置模块,用于配置微服务与通用基础环境相关的静态配置信息,包括微服务的名称运行IP地址和端口、开发方以及功能描述;
服务构建模块,用于通过调用服务配置模块接口,来创建自动化打包任务;
服务封装与发布模块,用于通过各种接口进行微服务的注册、监控、调度、消息交互以及通过配置模板进行标准化封装与发布;
推送模块,用于通过自动化部署服务,创建部署任务,并推送到封装与发布模块进行注册;
自动化测试模块,提供测试接口,通过调用自动化测试接口执行测试任务并生成测试报告;
自动化部署模块,用于开发人员通过提交业务代码或合并业务代码,调用微服务中定义的自动化部署任务,完成一次迭代。
本实施例通过自动化构建工具Jenkins,版本控制工具Gitee、微服务架构定义完整的自动化部署流程,以及可以运行在Jenkins上的编排脚本完成最终的交付迭代。Jenkins配置ant、maven构建任务,可以统一上传管理自定义的脚本,通过推送模块,自动触发构建任务,可以避免重复性工作,是开发工作中有力的生产力工具。
实施例2
本实施例公开一种基于微服务的自动部署的装置,包括服务配置模块、构建模块、服务封装与发布模块、推送模块、自动化测试模块、自动化部署模块。
服务配置模块,用于配置微服务与通用基础环境相关的静态配置信息,包括微服务的名称运行IP地址和端口、开发方以及功能描述;
服务构建模块,用于通过调用服务配置模块接口,来创建自动化打包任务;
服务封装与发布模块,用于通过各种接口进行微服务的注册、监控、调度、消息交互以及通过配置模板进行标准化封装与发布;
推送模块,用于通过自动化部署服务,创建部署任务,并推送到封装与发布模块进行注册;
自动化测试模块,提供测试接口,通过调用自动化测试接口执行测试任务并生成测试报告;
自动化部署模块,用于开发人员通过提交业务代码或合并业务代码,调用微服务中定义的自动化部署任务,完成一次迭代。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于微服务的自动部署的方法,其特征在于,包括如下步骤:
合并业务代码,并提供所需微服务的自动化配置文件;
设计自动化部署微服务模型,并提供代码打包、调用的标准化接口;
通过调用自动化部署接口,创建自动化部署任务,通过调用完成应用的打包、测试、部署;
推送执行任务,完成微服务业务接口的开放,实现业务信息交互;
编写基于业务的自动化测试脚本,运行脚本,生成测试报告。
2.根据权利要求1所述的基于微服务的自动部署的方法,其特征在于,所述创建自动化部署任务包括:定义代码仓库和构建分支。
3.根据权利要求2所述的基于微服务的自动部署的方法,其特征在于,所述调用自动化部署接口时,通过所述代码仓库源地址进行代码拉取。
4.根据权利要求1所述的基于微服务的自动部署的方法,其特征在于,所述自动化部署微服务模型包括服务配置模块、构建模块、服务封装与发布模块、推送模块、自动化测试模块、自动化部署模块;
服务配置模块,用于配置微服务与通用基础环境相关的静态配置信息,包括微服务的名称运行IP地址和端口、开发方以及功能描述;
服务构建模块,用于通过调用服务配置模块接口,来创建自动化打包任务;
服务封装与发布模块,用于通过各种接口进行微服务的注册、监控、调度、消息交互以及通过配置模板进行标准化封装与发布;
推送模块,用于通过自动化部署服务,创建部署任务,并推送到封装与发布模块进行注册;
自动化测试模块,提供测试接口,通过调用自动化测试接口执行测试任务并生成测试报告;
自动化部署模块,用于开发人员通过提交业务代码或合并业务代码,调用微服务中定义的自动化部署任务,完成一次迭代。
5.一种基于微服务的自动部署的装置,其特征在于,包括服务配置模块、构建模块、服务封装与发布模块、推送模块、自动化测试模块、自动化部署模块;
服务配置模块,用于配置微服务与通用基础环境相关的静态配置信息,包括微服务的名称运行IP地址和端口、开发方以及功能描述;
服务构建模块,用于通过调用服务配置模块接口,来创建自动化打包任务;
服务封装与发布模块,用于通过各种接口进行微服务的注册、监控、调度、消息交互以及通过配置模板进行标准化封装与发布;
推送模块,用于通过自动化部署服务,创建部署任务,并推送到封装与发布模块进行注册;
自动化测试模块,提供测试接口,通过调用自动化测试接口执行测试任务并生成测试报告;
自动化部署模块,用于开发人员通过提交业务代码或合并业务代码,调用微服务中定义的自动化部署任务,完成一次迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643861.8A CN114297073A (zh) | 2021-12-29 | 2021-12-29 | 一种基于微服务的自动部署的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643861.8A CN114297073A (zh) | 2021-12-29 | 2021-12-29 | 一种基于微服务的自动部署的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297073A true CN114297073A (zh) | 2022-04-08 |
Family
ID=80970797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111643861.8A Pending CN114297073A (zh) | 2021-12-29 | 2021-12-29 | 一种基于微服务的自动部署的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297073A (zh) |
-
2021
- 2021-12-29 CN CN202111643861.8A patent/CN114297073A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933522B (zh) | 一种自动化用例的测试方法、测试系统及存储介质 | |
US7543276B2 (en) | System and method for testing and/or debugging runtime systems for solving MES (manufacturing execution system) problems | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN105447643A (zh) | 一种面向云计算平台的科学工作流系统及方法 | |
CN104778124A (zh) | 一种软件应用自动化测试方法 | |
CN103441900A (zh) | 集中式跨平台自动化测试系统及其控制方法 | |
CN113849244B (zh) | 一种基于编排引擎实现自定义业务场景的配置方法 | |
CN107092489B (zh) | 基于应用版本发布的处理方法和系统 | |
CN110019203B (zh) | 一种基于知识库的服务器自动巡检系统与方法 | |
CN107436775A (zh) | 虚拟机上安装业务版本的方法及装置 | |
CN115098156B (zh) | 一种网络模态管理系统及管理方法 | |
CN109766280A (zh) | 软件测试方法及软件测试平台 | |
US11687536B2 (en) | Pipeline-based system for configuration checking and reporting associated with an information processing system | |
CN111708706A (zh) | 工业互联网app自动化测试系统和测试方法 | |
CN115794106A (zh) | 一种轨道交通二进制协议数据配置式解析的方法及系统 | |
CN103605526A (zh) | 一种基于责任链模式的模版组件化生成代码的方法 | |
CN102752770A (zh) | 一种对业务系统进行巡检的方法及装置 | |
CN112292644A (zh) | 使用基于块的工作流程的约束编程 | |
CN114297073A (zh) | 一种基于微服务的自动部署的方法及装置 | |
CN115056234B (zh) | 基于事件驱动和无限状态机的rpa控制器调度方法及系统 | |
CN110969414A (zh) | 一种基于Java的跨平台工作流实现方法及系统 | |
Szántó et al. | Transformation of traditional assembly lines into interoperable CPPS for MES: an OPC UA enabled scenario | |
CN116149808A (zh) | 机器人流程自动化管理系统和方法 | |
CN107679691B (zh) | 一种工作设备管理方法及系统 | |
CN115951970A (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 |