CN111443923A - 服务发布方法及装置 - Google Patents
服务发布方法及装置 Download PDFInfo
- Publication number
- CN111443923A CN111443923A CN202010223526.1A CN202010223526A CN111443923A CN 111443923 A CN111443923 A CN 111443923A CN 202010223526 A CN202010223526 A CN 202010223526A CN 111443923 A CN111443923 A CN 111443923A
- Authority
- CN
- China
- Prior art keywords
- environment
- test
- simulation
- release
- mirror image
- 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/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种服务发布方法及装置,该方法包括:获取目标服务的程序代码,确定持续发布系统的环境参数;调用持续集成系统对程序代码和环境参数进行处理,生成与目标服务对应的测试镜像、仿真镜像以及发布镜像;将测试镜像部署至持续发布系统的测试环境中运行,并向开发人员反馈得到的测试信息;若获取到开发人员响应于测试信息的仿真指令,则将仿真镜像部署至持续发布系统的仿真环境中运行,并向开发人员反馈得到的仿真信息;若获取到开发人员响应于仿真信息的发布指令,则将发布镜像部署至持续发布系统的发布环境中,完成目标服务的发布。应用本发明,无需在服务发布过程中逐一配置环境的参数,减少发布过程中出错的概率,提高服务发布的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种服务发布方法及装置。
背景技术
互联网为用户提供了各种各样的服务,用户通过互联网应用的各种软件产品均为互联网提供的服务,最常见的服务如各式各样的应用程序以及WEB服务等。为满足用户不断变化的需求,各种服务需要不断的更新和增加新的功能,因此服务进行更新迭代的频率非常的高。服务的迭代和更新主要依靠开发人员对服务的程序代码修改及变更,新版本的服务根据修改后的程序代码构建而成。
服务发布的过程通常包含检测环节,检测环节是将服务在不同的检测环境下运行检测,当服务通过检测环节之后才可发布至正式的发布环境中。其中,检测环节和发布环境所配置的环境参数不同,在配置环境参数时,需要花费大量的时间逐一进行配置且配置参数时易出错,使得服务发布的过程易出现错误,降低了服务发布的效率。
发明内容
有鉴于此,本发明提供一种服务发布方法及装置,本发明通过将持续发布系统和持续集成系统相结合,并预先配置持续发布系统中环境的参数,使得服务发布的方式统一,并且无需在服务发布的过程中逐一配置环境的参数,减少发布过程花费的时间,提高服务发布的效率。
为实现上述目的,本发明提供如下技术方案:
一种服务发布方法,包括:
获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;
调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;
将所述测试镜像部署至所述持续发布系统的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;
若接收到所述开发人员响应于所述测试信息发送的仿真指令,则依据所述仿真指令将所述仿真镜像部署至所述持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;
若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。
上述的方法,可选的,所述确定预设的持续发布系统的环境参数,包括:
获取配置中心的环境配置文件;
对所述环境配置文件进行解析,获取所述环境配置文件中配置所述持续发布系统的环境参数。
上述的方法,可选的,所述调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像,包括:
将所述程序代码分别与所述环境参数中的测试环境参数、仿真环境参数以及发布环境参数进行组合,得到包含所述程序代码和所述测试环境参数的第一组合、包含所述程序代码和所述仿真环境参数的第二组合以及包含所述程序代码和所述发布环境参数的第三组合;
应用所述持续集成系统分别对所述第一组合、所述第二组合以及所述第三组合进行镜像构建,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与所述发布环境参数对应的发布镜像。
上述的方法,可选的,所述将所述测试镜像部署至所述持续发布系统的测试环境中,包括:
获取与所述测试镜像对应的部署文件;
依据所述测试镜像中的测试环境参数确定构成测试环境的部署集群;
按照所述部署文件,将所述测试镜像部署至所述部署集群中。
上述的方法,可选的,还包括:
为部署至所述持续发布系统中的所述测试镜像、所述仿真镜像以及所述发布镜像分配统一的版本编号。
一种服务发布装置,包括:
获取单元,用于获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;
调用单元,用于调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;
第一部署单元,用于将所述测试镜像部署至所述持续发布系统的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;
第二部署单元,用于若接收到所述开发人员响应于所述测试信息发送的仿真指令,则依据所述仿真指令将所述仿真镜像部署至所述持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;
第三部署单元,用于若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。
上述的装置,可选的,所述获取单元,包括:
第一获取子单元,用于获取配置中心的环境配置文件;
解析子单元,用于对所述环境配置文件进行解析,获取所述环境配置文件中配置所述持续发布系统的环境参数。
上述的装置,可选的,所述调用单元,包括:
组合子单元,用于将所述程序代码分别与所述环境参数中的测试环境参数、仿真环境参数以及发布环境参数进行组合,得到包含所述程序代码和所述测试环境参数的第一组合、包含所述程序代码和所述仿真环境参数的第二组合以及包含所述程序代码和所述发布环境参数的第三组合;
构建子单元,用于应用所述持续集成系统分别对所述第一组合、所述第二组合以及所述第三组合进行镜像构建,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与所述发布环境参数对应的发布镜像。
上述的装置,可选的,所述第一部署单元,包括:
第二获取子单元,用于获取与所述测试镜像对应的部署文件;
确定子单元,用于依据所述测试镜像中的测试环境参数确定构成测试环境的部署集群;
部署子单元,用于按照所述部署文件,将所述测试镜像部署至所述部署集群中。
上述的装置,可选的,还包括:
分配单元,用于为部署至所述持续发布系统中的所述测试镜像、所述仿真镜像以及所述发布镜像分配统一的版本编号。
与现有技术相比,本发明具有以下优点:
本发明提供一种服务发布方法,所述方法包括:获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;将所述测试镜像部署至测试环境中运行,并向开发人员反馈运行得到的测试信息;若接收到开发人员响应于测试信息发送的仿真指令,则将仿真镜像部署至仿真环境中运行,并向开发人员反馈运行得到的仿真信息;若接收到开发人员响应于测试信息发送的发布指令,则将发布镜像部署至发布环境中,以完成所述目标服务的发布。应用本发明,通过在持续发布系统中预先配置环境参数,无需在服发布过程中逐一配置环境的参数,不仅减少发布所需的时间,而且统一了服务发布的方式和环境,有效减少服务发布过程中出错的概率,提高发布效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种服务发布方法的方法流程图;
图2为本发明实施例提供的一种服务发布方法的另一方法流程图;
图3为本发明实施例提供的一种服务发布方法的场景示例图;
图4为本发明实施例提供的一种服务发布装置的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可以应用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理装置、包括以上任何装置或设备的分布式计算机环境等等。
本发明实施例提供一种服务发布方法,用于由持续发布系统和持续集成系统构成的处理系统中,该方法的执行主体为该处理系统,所述方法的方法流程图如图1所示,具体说明如下所述:
S101、获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数。
本发明实施例提供的方法中,当目标服务需要进行更新时,开发人员对目标服务编写新的程序代码,并将编写的程序代码发送至代码库中进行保存;由处理系统中的持续集成系统从代码库中获取目标服务的程序代码,并获取持续开发系统中预设的环境参数;需要说明的是,所述环境参数包含测试环境参数、仿真环境参数以及发布环境参数。
S102、调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像。
本发明实施例提供的方法中,在获取到目标服务的程序代码以及持续发布系统的环境参数之后,调用持续集成系统对所述程序代码和所述环境参数进行编译、镜像打包等预先设置的一系列操作,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像。在持续集成系统生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像之后,将所述测试镜像、仿真镜像以及发布镜像推送至预设的镜像仓库中进行保存。
S103、将所述测试镜像部署至所述持续发布系统的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈。
本发明实施例提供的方法中,持续发布系统从镜像仓库中调取目标服务的测试镜像,并将所述测试镜像部署至所述持续发布系统的测试环境中,使得测试镜像在所述测试环境中运行,需要说明的是,所述测试镜像在所述测试环境中运行的具体内容为:依据测试环境中预设的测试执行命令运行测试镜像中目标服务的测试实例;生成所述测试镜像运行后得到的测试信息,将所述测试信息发送至预设的显示设备,触发所述显示设备将测试信息向开发人员进行展示,以将所述测试信息向所述开发人员进行反馈。
S104、若接收到所述开发人员响应于所述测试信息发送的仿真指令,则依据所述仿真指令将所述仿真镜像部署至所述持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈。
本发明实施例提供的方法中,开发人员在得到所述测试镜像的测试信息后,依据所述测试信息向所述持续发布系统发送对应的指令,若所述测试信息中表征测试镜像运行没有问题,则开发人员响应于所述测试信息发送仿真指令;持续发布系统在接收到所述仿真指令之后,依据所述仿真指令调取镜像仓库中与所述目标服务对应的仿真镜像,并将所述仿真镜像部署至持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,需要说明的是,所述仿真镜像在所述仿真环境中运行的具体内容为:依据仿真环境中预设的仿真执行命令运行仿真镜像中目标服务的仿真实例;生成所述仿真镜像运行后得到的仿真信息,并将所述仿真信息发送至预设的显示设备,触发所述显示设备将仿真信息向开发人员进行展示,以将所述仿真信息向所述开发人员进行反馈;需要说明的是,此处的显示设备可与S103中的显示设备相同。需要说明的是,若所述测试信息中表征所述测试镜像运行存在问题,则表明目标服务的程序代码存在问题,需要重新编写目标服务的程序代码,此种情况下,开发人员不向所述持续发布系统发送仿真指令,可直接终止对所述目标服务的发布,并在重新编写程序代码后,对目标服务进行重新发布;也可向持续发布系统发送终止指令,终止对所述目标服务的发布,并在重新编写程序代码后,对目标服务进行重新发布。
S105、若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。
本发明实施例提供的方法中,开发人员在得到所述仿真镜像的仿真信息后,依据所述仿真信息向所述持续发布系统发送对应的指令,若所述仿真信息中表征仿真镜像运行没有问题,则开发人员响应于所述仿真信息发送发布指令;持续发布系统在接收到所述发布指令之后,依据所述发布指令调取镜像仓库中与所述目标服务对应的发布镜像,并将所述发布镜像部署至持续发布系统的发布环境中,以完成所述目标服务的发布;需要说明的是,所述发布环境还可称为正式环境或是生产环境,在所述目标服务发布至正式环境后,用户可从正式环境中调用目标服务或是使用目标服务。需要说明的是,若所述仿真信息中表征所述仿真镜像运行存在问题,则表明目标服务的程序代码存在问题,需要重新编写目标服务的程序代码,此种情况下,开发人员不向所述持续发布系统发送发布指令,可直接终止对所述目标服务的发布,并在重新编写程序代码后,对目标服务进行重新发布;也可向持续发布系统发送终止指令,终止对所述目标服务的发布,并在重新编写程序代码后,对目标服务进行重新发布。
本发明实施例提供的方法中,获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;调用持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;将所述测试镜像部署至持续发布系统中的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;若接收到所述开发人员响应于所述测试信息发送的仿真指令,则将所述仿真镜像部署至持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。应用本发明,可以直接将持续集成系统和持续发布系统相结合,通过生成目标服务对应的镜像,并将生成的镜像在持续发布系统中预先设置的环境中运行,可快速对目标服务进行检测,无需逐一配置不同环境的参数,进一步统一了发布方式,并且持续集成系统依据持续发布系统中的环境参数生成镜像,确保镜像适配于持续发布系统中的环境,有效排除了因镜像与环境不适配而出错了情况,降低了目标服务在发布过程中出错的概率,有效提高服务的发布效率。
本发明实施例提供的方法中,获取持续发布系统的环境参数的过程如下所述:
获取配置中心的环境配置文件;
对所述环境配置文件进行解析,获取所述环境配置文件中配置所述持续发布系统的环境参数。
本发明实施例提供的方法中,获取配置中心中保存的持续发布系统的环境配置文件,所述环境配置文件中包含持续发布系统中各个环境的环境参数;需要说明的是,所述持续发布系统中的各个环境是预先配置的,在持续发布系统中的各个环境配置完成之后,生成持续发布系统的环境配置文件,并将所述环境配置文件保存至预设的配置中心中;需要说明的是,所述持续发布系统中配置的环境包括测试环境、仿真环境以及发布环境,生成包含测试环境的测试环境参数、仿真环境的仿真环境参数以及发布环境的发布环境参数的环境配置文件。需要说明的是,对获取到的环境配置文件进行解析,以获取所述环境配置文件中的所述持续发布系统的环境参数,所述环境参数包含测试环境参数、仿真环境参数以及发布环境参数。
通过对获取的环境配置文件进行解析,可快速得到所述持续发布系统中的环境参数,并对所述环境参数和所述目标服务的程序代码进行处理,生成目标服务的测试镜像、仿真镜像以及发布镜像,具体的过程如图2所示,对图2的说明如下所述:
S201、将所述程序代码分别与所述环境参数中的测试环境参数、仿真环境参数以及发布环境参数进行组合,得到包含所述程序代码和所述测试环境参数的第一组合、包含所述程序代码和所述仿真环境参数的第二组合以及包含所述程序代码和所述发布环境参数的第三组合。
本发明实施例提供的方法中,所述环境参数中包含测试环境参数、仿真环境参数以及发布环境参数,将所述目标服务的程序代码与所述测试环境参数组合成第一组合,将所述目标服务的程序代码与所述仿真环境参数组合成第二组合,将所述目标服务的程序代码与所述发布环境组合成第三组合。
S202、应用所述持续集成系统分别对所述第一组合、所述第二组合以及所述第三组合进行镜像构建,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与所述发布环境参数对应的发布镜像。
本发明实施例提供的方法中,应用所述持续集成系统中的构建服务器对所述第一组合中的程序代码和测试环境参数进行编译打包和代码分之等操作,构建出与所述第一组合对应的测试镜像,所述测试镜像与所述测试环境参数对应;同理,应用所述持续集成系统中构建服务器对所述第二组合中的程序代码和仿真环境参数进行编译打包和代码分之等操作,构建出与所述第二组合对应的仿真镜像,所述仿真镜像还与所述仿真环境参数相对应;同理,应用所述持续集成系统中构建服务器对所述第三组合中的程序代码和所述发布环境参数进行编译打包和代码分之等操作,构建出与所述第三组合对应的发布镜像,所述发布镜像还与所述发布环境参数相对应。需要说明的是,所述构建服务器中预先设置了构建流程,构建服务器依据所述构建流程构建目标服务的镜像。
本发明实施例提供的方法中,通过对程序代码和所述环境参数进行处理,可快速得到与所述目标服务对应的测试镜像、仿真镜像以及发布镜像,并将所述测试镜像、仿真镜像以及发布镜像部署至对应的环境中;需要说明的是,将测试镜像部署至测试环境中,部署的过程如下所述:
获取与所述测试镜像对应的部署文件;
依据所述测试镜像中的测试环境参数确定构成测试环境的部署集群;
按照所述部署文件,将所述测试镜像部署至所述部署集群中。
本发明实施例提供的方法中,将所述测试镜像部署至测试环境的过程中,获取与所述测试镜像对应的部署文件;需要说明的是,所述部署文件中包含监测端口以及IP地址等信息;确定与所述测试镜像中的测试环境参数对应的部署集群,需要说明的是,通过在部署集群中配置测试环境参数,将部署集群配置成测试环境;依据所述部署文件将所述测试镜像部署至所述部署集群中,完成所述测试镜像在测试环境中的部署。
本发明实施例提供的方法中,对仿真镜像部署至仿真环境的过程进行如下说明:
获取与所述仿真镜像对应的部署文件;
依据所述仿真镜像中的仿真环境参数确定构成仿真环境的部署集群;
按照所述部署文件,将所述仿真镜像部署至所述部署集群中。需要说明的是,所述仿真环境由部署集群构成,在部署集群中配置仿真环境参数即可构建仿真环境;所述部署文件中包含监测端口以及IP地址等信息。
本发明实施例提供的方法中,发布镜像的部署过程如下所述:
获取与所述发布镜像对应的部署文件;
依据所述发布镜像中的发布环境参数确定构成发布环境的部署集群;
按照所述部署文件,将所述发布镜像部署至所述部署集群中。需要说明的是,所述发布环境由部署集群构成,在部署集群中配置发布环境参数即可构建发布环境;所述部署文件中包含监测端口以及IP地址等信息。
需要说明的是,不同的镜像对应不同的部署文件,不同的部署文件中的监测端口和IP地址均不相同;不同的环境对应不同的部署集群,即测试环境、仿真环境以及发布环境,这三种环境分别对应不同的部署集群。
本发明实施例提供的方法中,当目标服务成功发布时,即所述目标服务在发布环境中完成部署时,为部署至所述持续发布系统中的所述测试镜像、所述仿真镜像以及所述发布镜像分配统一的版本编号。需要说明的是,通过为目标服务的测试镜像、仿真镜像以及发布镜像分配统一的版本编号,所述版本编号用于标记所述目标服务的版本。
参照图3,为本发明提供的一实例场景示例图,对图3进行下述说明:
假设目标服务为应用程序(Application,APP),持续集成系统中预先配置测试环境、仿真环境以及发布环境,依据测试环境的测试环境参数、仿真环境的仿真环境参数以及发布环境的发布环境参数生成所述持续发布系统的环境配置文件,并将所述环境配置文件保存在配置中心中。需要说明的是,服务发布可为服务进行更新或是上线。为便于说明,使用APP1、APP2表示不同的APP;当APP1需要发布时,开发人员编写APP1需要进行更新的程序代码,并将编写完成的程序代码发送至代码库中,代码库可接收不同的开发人员上传的程序代码。持续集成系统从所述代码库中获取APP1的程序代码,并从持续发布系统中的配置中心获取环境配置文件,并对所述环境配置文件进行解析,得到所述持续发布系统中的环境参数,所述环境参数包括:测试环境的测试环境参数、仿真环境的仿真环境参数以及发布环境的发布环境参数;使用持续发布系统中的构建服务器将程序代码和环境参数进行镜像构建处理,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与发布环境参数对应的发布镜像。
将APP1的所述测试镜像、仿真镜像以及发布镜像推送至镜像仓库中进行保存,持续发布系统调取镜像仓库中APP1的测试镜像,将所述测试镜像部署至测试环境中,使得所述测试镜像在所述测试环境中运行,并向开发人员反馈测试镜像运行的测试信息;若开发人员的响应于测试信息向持续发布系统发送仿真指令,则持续发布系统调取镜像仓库中APP1的仿真镜像,并将所述仿真镜像部署至仿真环境中,使得仿真镜像在仿真环境中运行,并向开发人员反馈仿真镜像在仿真环境中运行的仿真信息;若开发人员响应于仿真信息向持续发布系统发送发布指令,则持续发布系统调取镜像仓库中APP1的发布镜像,并将所述发布镜像部署至发布环境中,以完成APP1的发布,并将部署在所述测试环境中APP1的测试镜像、部署在所述仿真环境1中的仿真镜像以及部署在所述发布环境中的发布镜像分配统一的版本编号;如图3所示,若所述APP1是首次发布,则分配的版本编号为V1,则可将APP1部署在测试环境中的测试镜像、部署在仿真环境中的仿真镜像以及部署在发布环境中的发布镜像的名称均命名为APP1V1;若所述APP1是第二次发布,则分配的版本号为V2,则可将APP1部署在测试环境中的测试镜像、部署在仿真环境中的仿真镜像以及部署在发布环境中的发布镜像的名称均命名为APP1V2;需要说明的是,图3中的APP1V1表示第一版本的APP1;APP1V2表示第二版本的APP1;其中,APP2V1表示第一版本的APP2。需要说明的是,通过分配版本编号区分APP的不同版本,由此可以确保APP发布的有序性,便于管理发布的APP。
本发明实施例提供的方法中,通过在持续发布系统中预先配置运行环境,运行环境包括:测试环境、仿真环境以及发布环境,持续集成系统依据持续发布系统的环境参数和程序代码构建目标服务的测试镜像、仿真镜像以及发布镜像,通过将测试镜像部署至测试环境中运行,在收到开发人员响应于测试信息发送的仿真指令时,将仿真镜像部署至仿真环境中运行,在收到开发人员响应于仿真信息发送的发布指令时,将发布镜像部署至发布环境中,完成目标服务的发布。本发明将持续发布系统和持续集成系统相结合,并在持续发布系统中预先配置运行环境,统一了运行环境以及发布方式,无需在目标程序发布的过程中逐一进行配置,节约时间,使得服务发布的效率提高;通过统一运行环境和发布方式,使得服务发布过程中减少因不适配运行环境而发生的事故和错误,本发明提供的方法可支持A/B测试和灰度发布等不同需求的发布方式,可以有效提高服务的发布效率。
需要说明的是,持续集成系统依据持续发布系统的环境参数生成目标服务的镜像,确保生成的镜像适配于持续发布系统中的环境,有效将持续集成系统和持续发布系统相结合,由此可覆盖目标服务在发布过程中的各种场景和环境。
与图1相对应的,本发明实施例还提供了一种服务发布装置,用于支持图1中方法的具体实现,本发明实施例提供的服务发布装置可以应用于计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:
获取单元401,用于获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;
调用单元402,用于调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;
第一部署单元403,用于将所述测试镜像部署至所述持续发布系统的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;
第二部署单元404,用于若接收到所述开发人员响应于所述测试信息发送的仿真指令,则依据所述仿真指令将所述仿真镜像部署至所述持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;
第三部署单元405,用于若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。
本发明实施例提供的服务发布装置,获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;调用持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;将所述测试镜像部署至持续发布系统中的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;若接收到所述开发人员响应于所述测试信息发送的仿真指令,则将所述仿真镜像部署至持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。应用本发明提供的装置,可以直接将持续集成系统和持续发布系统相结合,在持续发布系统中预先配置测试环境、仿真环境以及发布环境,以此统一了发布方式和运行环境,并通过生成目标服务对应的镜像,并将生成的镜像在持续发布系统中预先设置的环境中运行,可快速对目标服务进行检测,无需逐一配置不同环境的环境参数,可有效提高服务的发布效率。
基于上述方案,本发明实施例提供的服务发布装置中的获取单元401,可进行以下配置:
第一获取子单元,用于获取配置中心的环境配置文件;
解析子单元,用于对所述环境配置文件进行解析,获取所述环境配置文件中配置所述持续发布系统的环境参数。
基于上述方案,本发明实施例提供的服务发布装置中的调用单元402,可进行以下配置:
组合子单元,用于将所述程序代码分别与所述环境参数中的测试环境参数、仿真环境参数以及发布环境参数进行组合,得到包含所述程序代码和所述测试环境参数的第一组合、包含所述程序代码和所述仿真环境参数的第二组合以及包含所述程序代码和所述发布环境参数的第三组合;
构建子单元,用于应用所述持续集成系统分别对所述第一组合、所述第二组合以及所述第三组合进行镜像构建,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与所述发布环境参数对应的发布镜像。
基于上述方案,本发明实施例提供的服务发布装置中的第一部署单元403,可进行以下配置:
第二获取子单元,用于获取与所述测试镜像对应的部署文件;
确定子单元,用于依据所述测试镜像中的测试环境参数确定构成测试环境的部署集群;
部署子单元,用于按照所述部署文件,将所述测试镜像部署至所述部署集群中。
基于上述方案,本发明实施例提供的服务发布装置还可以配置以下内容:
分配单元,用于为部署至所述持续发布系统中的所述测试镜像、所述仿真镜像以及所述发布镜像分配统一的版本编号。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种服务发布方法,其特征在于,包括:
获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;
调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;
将所述测试镜像部署至所述持续发布系统的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;
若接收到所述开发人员响应于所述测试信息发送的仿真指令,则依据所述仿真指令将所述仿真镜像部署至所述持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;
若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。
2.根据权利要求1所述的方法,其特征在于,所述确定预设的持续发布系统的环境参数,包括:
获取配置中心的环境配置文件;
对所述环境配置文件进行解析,获取所述环境配置文件中配置所述持续发布系统的环境参数。
3.根据权利要求1所述的方法,其特征在于,所述调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像,包括:
将所述程序代码分别与所述环境参数中的测试环境参数、仿真环境参数以及发布环境参数进行组合,得到包含所述程序代码和所述测试环境参数的第一组合、包含所述程序代码和所述仿真环境参数的第二组合以及包含所述程序代码和所述发布环境参数的第三组合;
应用所述持续集成系统分别对所述第一组合、所述第二组合以及所述第三组合进行镜像构建,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与所述发布环境参数对应的发布镜像。
4.根据权利要求1所述的方法,其特征在于,所述将所述测试镜像部署至所述持续发布系统的测试环境中,包括:
获取与所述测试镜像对应的部署文件;
依据所述测试镜像中的测试环境参数确定构成测试环境的部署集群;
按照所述部署文件,将所述测试镜像部署至所述部署集群中。
5.根据权利要求1所述的方法,其特征在于,还包括:
为部署至所述持续发布系统中的所述测试镜像、所述仿真镜像以及所述发布镜像分配统一的版本编号。
6.一种服务发布装置,其特征在于,包括:
获取单元,用于获取开发人员提交的目标服务的程序代码,并确定预设的持续发布系统的环境参数;
调用单元,用于调用预设的持续集成系统对所述程序代码和所述环境参数进行处理,生成与所述目标服务对应的测试镜像、仿真镜像以及发布镜像;
第一部署单元,用于将所述测试镜像部署至所述持续发布系统的测试环境中,使得所述测试镜像在所述测试环境中运行,并将运行得到的测试信息向所述开发人员反馈;
第二部署单元,用于若接收到所述开发人员响应于所述测试信息发送的仿真指令,则依据所述仿真指令将所述仿真镜像部署至所述持续发布系统的仿真环境中,使得所述仿真镜像在所述仿真环境中运行,并将运行得到的仿真信息向所述开发人员反馈;
第三部署单元,用于若接收到所述开发人员响应于所述仿真信息发送的发布指令,则依据所述发布指令将所述发布镜像部署至所述持续发布系统的发布环境中,以完成所述目标服务的发布。
7.根据权利要求6所述的装置,其特征在于,所述获取单元,包括:
第一获取子单元,用于获取配置中心的环境配置文件;
解析子单元,用于对所述环境配置文件进行解析,获取所述环境配置文件中配置所述持续发布系统的环境参数。
8.根据权利要求6所述的装置,其特征在于,所述调用单元,包括:
组合子单元,用于将所述程序代码分别与所述环境参数中的测试环境参数、仿真环境参数以及发布环境参数进行组合,得到包含所述程序代码和所述测试环境参数的第一组合、包含所述程序代码和所述仿真环境参数的第二组合以及包含所述程序代码和所述发布环境参数的第三组合;
构建子单元,用于应用所述持续集成系统分别对所述第一组合、所述第二组合以及所述第三组合进行镜像构建,得到与所述测试环境参数对应的测试镜像、与所述仿真环境参数对应的仿真镜像以及与所述发布环境参数对应的发布镜像。
9.根据权利要求6所述的装置,其特征在于,所述第一部署单元,包括:
第二获取子单元,用于获取与所述测试镜像对应的部署文件;
确定子单元,用于依据所述测试镜像中的测试环境参数确定构成测试环境的部署集群;
部署子单元,用于按照所述部署文件,将所述测试镜像部署至所述部署集群中。
10.根据权利要求6所述的装置,其特征在于,还包括:
分配单元,用于为部署至所述持续发布系统中的所述测试镜像、所述仿真镜像以及所述发布镜像分配统一的版本编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010223526.1A CN111443923A (zh) | 2020-03-26 | 2020-03-26 | 服务发布方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010223526.1A CN111443923A (zh) | 2020-03-26 | 2020-03-26 | 服务发布方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111443923A true CN111443923A (zh) | 2020-07-24 |
Family
ID=71649046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010223526.1A Pending CN111443923A (zh) | 2020-03-26 | 2020-03-26 | 服务发布方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111443923A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363733A (zh) * | 2020-10-20 | 2021-02-12 | 深圳力维智联技术有限公司 | 一种基于Docker容器的持续集成方法 |
CN112596787A (zh) * | 2020-11-20 | 2021-04-02 | 深圳市世强元件网络有限公司 | 一种应用程序在不同环境自适应发布系统及方法 |
CN113542379A (zh) * | 2021-07-02 | 2021-10-22 | Oppo广东移动通信有限公司 | 应用程序管理方法及装置、电子设备及存储介质 |
CN114816445A (zh) * | 2021-01-29 | 2022-07-29 | 中移(苏州)软件技术有限公司 | 系统平台架构、函数发布方法及装置、平台及存储介质 |
CN115016808A (zh) * | 2022-07-15 | 2022-09-06 | 北京中亦安图科技股份有限公司 | 一种前端应用部署方法及装置 |
WO2023142924A1 (zh) * | 2022-01-29 | 2023-08-03 | 京东方科技集团股份有限公司 | 电子地图运维方法、电子地图数据使用方法及服务系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423983A (zh) * | 2013-08-29 | 2015-03-18 | 国际商业机器公司 | 用于开发、测试和部署应用的方法和装置 |
WO2017045424A1 (zh) * | 2015-09-18 | 2017-03-23 | 乐视控股(北京)有限公司 | 一种应用程序部署系统及部署方法 |
WO2017071494A1 (zh) * | 2015-10-26 | 2017-05-04 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN107357558A (zh) * | 2016-05-10 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 构建代码的方法及装置 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、系统及服务器 |
CN109656569A (zh) * | 2018-10-16 | 2019-04-19 | 平安普惠企业管理有限公司 | 多环境应用部署方法、设备、存储介质及装置 |
CN110007921A (zh) * | 2018-12-04 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种代码发布方法及装置 |
-
2020
- 2020-03-26 CN CN202010223526.1A patent/CN111443923A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423983A (zh) * | 2013-08-29 | 2015-03-18 | 国际商业机器公司 | 用于开发、测试和部署应用的方法和装置 |
WO2017045424A1 (zh) * | 2015-09-18 | 2017-03-23 | 乐视控股(北京)有限公司 | 一种应用程序部署系统及部署方法 |
WO2017071494A1 (zh) * | 2015-10-26 | 2017-05-04 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN107357558A (zh) * | 2016-05-10 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 构建代码的方法及装置 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、系统及服务器 |
CN109656569A (zh) * | 2018-10-16 | 2019-04-19 | 平安普惠企业管理有限公司 | 多环境应用部署方法、设备、存储介质及装置 |
CN110007921A (zh) * | 2018-12-04 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种代码发布方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363733A (zh) * | 2020-10-20 | 2021-02-12 | 深圳力维智联技术有限公司 | 一种基于Docker容器的持续集成方法 |
CN112596787A (zh) * | 2020-11-20 | 2021-04-02 | 深圳市世强元件网络有限公司 | 一种应用程序在不同环境自适应发布系统及方法 |
CN114816445A (zh) * | 2021-01-29 | 2022-07-29 | 中移(苏州)软件技术有限公司 | 系统平台架构、函数发布方法及装置、平台及存储介质 |
CN113542379A (zh) * | 2021-07-02 | 2021-10-22 | Oppo广东移动通信有限公司 | 应用程序管理方法及装置、电子设备及存储介质 |
WO2023142924A1 (zh) * | 2022-01-29 | 2023-08-03 | 京东方科技集团股份有限公司 | 电子地图运维方法、电子地图数据使用方法及服务系统 |
CN115016808A (zh) * | 2022-07-15 | 2022-09-06 | 北京中亦安图科技股份有限公司 | 一种前端应用部署方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111443923A (zh) | 服务发布方法及装置 | |
US12032956B2 (en) | Techniques to deploy an application as a cloud computing service | |
US10664388B2 (en) | Continuous integration testing for network-based applications | |
US10191733B2 (en) | Software change process orchestration in a runtime environment | |
CN108551487A (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
CN111651178A (zh) | 容器配置更新方法、装置、计算机设备和存储介质 | |
CN103336688A (zh) | 面向云计算软件研发过程中的软件集成方法及系统 | |
CN112732273A (zh) | 应用部署方法、装置及系统 | |
US20130263112A1 (en) | Deployment and hosting of platform independent applications | |
CN111399840A (zh) | 一种模块开发方法及装置 | |
CN112925513A (zh) | web页面构建方法及装置 | |
CN106528415A (zh) | 一种软件兼容性测试方法、业务平台及系统 | |
CN111562950A (zh) | 一种分布式应用参数动态发布的系统及方法 | |
CN116820493A (zh) | 一种镜像文件部署方法、系统、设备及存储介质 | |
US10073689B2 (en) | Managing application lifecycles within a federation of distributed software applications | |
CN108334360A (zh) | 应用程序动态加载的方法、装置、存储介质和计算机设备 | |
CN113419818B (zh) | 基础组件部署方法、装置、服务器及存储介质 | |
CN107678969B (zh) | 测试版本发布方法、装置、版本控制设备和测试机 | |
CN110989986A (zh) | 基于软件模板的软件生成方法、装置和计算机设备 | |
CN111679850A (zh) | 应用程序热更新处理方法、装置及系统 | |
CN111045695A (zh) | WebLogic中间件部署装置、方法及设备和介质 | |
CN111679842A (zh) | 应用程序热更新处理方法、装置及系统 | |
CN115437657A (zh) | 服务启动方法、装置、设备及存储介质 | |
CN113672243A (zh) | Linux系统安装方法、装置、系统、计算机设备和存储介质 | |
CN112667350A (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 |