本发明涉及数据处理,特别涉及一种服务部署系统。
背景技术:
1、传统的服务部署流程是开发人员向代码仓库提交定版代码之后由项目管理人员编写并运行对应的项目编译脚本和服务镜像构建脚本文件来对当次定版项目进行源代码编译和服务镜像构建,随后再由项目管理人员通过人工操作方式将构建出的服务镜像上传到服务器端进行服务更新。这种传统的服务部署方式用于处理小规模、低频次的服务部署任务时没有太大问题,但用于处理大规模、高频次的服务部署任务时则受人工经验与效率影响很容易出现服务器错漏、服务版本错误、部署效率低下等问题。
技术实现思路
1、本发明的目的,就是针对现有技术的缺陷,提供一种服务部署系统,该系统包括:任务调度模块、任务激活模块、项目代码仓库、服务镜像仓库、任务通知模块和多个业务服务器;其中,任务调度模块分别与任务激活模块、项目代码仓库、服务镜像仓库、任务通知模块和各个业务服务器连接,项目代码仓库与服务镜像仓库连接,服务镜像仓库与各个业务服务器连接。通过本发明系统不但可以提高服务部署的规模和频次,还可以提高每次部署的准确度和实施效率。
2、为实现上述目的,本发明实施例提供了一种服务部署系统,所述系统包括:任务调度模块、任务激活模块、项目代码仓库、服务镜像仓库、任务通知模块和多个业务服务器;
3、所述任务调度模块分别与所述任务激活模块、所述项目代码仓库、所述服务镜像仓库、所述任务通知模块和各个所述业务服务器连接;所述项目代码仓库与所述服务镜像仓库连接;所述服务镜像仓库与各个所述业务服务器连接;
4、所述任务调度模块用于接收用户输入的第一任务配置;并对所述第一任务配置进行准备、部署和测试任务配置分解生成对应的第一准备任务配置、第一部署任务配置和第一测试任务配置向所述任务激活模块发送;
5、所述任务调度模块还用于在接收到所述任务激活模块发送的所述第一准备任务配置时,将携带了所述第一准备任务配置的第一任务运行指令向所述项目代码仓库发送;并接收所述项目代码仓库回发的第一任务报告;并根据所述第一准备任务配置和所述第一任务报告进行准备任务通知数据封装处理生成对应的第一通知数据向所述任务通知模块发送;
6、所述任务调度模块还用于在接收到所述任务激活模块发送的所述第一部署任务配置时,从中提取出对应的第一项目标识和第一项目版本;并将携带了所述第一项目标识和所述第一项目版本的第一接口查询指令向所述项目代码仓库发送;并接收所述项目代码仓库回发的第一服务镜像下载接口;并根据所述第一服务镜像下载接口对与所述第一部署任务配置匹配的各个所述业务服务器进行服务部署处理生成对应的第二任务报告;并根据所述第一部署任务配置和所述第二任务报告进行服务部署任务通知数据封装处理生成对应的第二通知数据向所述任务通知模块发送;
7、所述任务调度模块还用于在接收到所述任务激活模块发送的所述第一测试任务配置时,对与所述第一测试任务配置匹配的各个所述业务服务器进行部署服务测试处理生成对应的第三任务报告;并根据所述第一测试任务配置和所述第三任务报告进行服务测试任务通知数据封装处理生成对应的第三通知数据向所述任务通知模块发送;
8、所述任务激活模块用于在收到所述任务调度模块发送的所述第一准备任务配置、所述第一部署任务配置和所述第一测试任务配置时对当次收到的三个配置进行保存;并为当次收到的三个配置各自分配一个对应的一次性激活事件记为对应的第一准备事件、第一部署事件和第一测试事件;并将本次分配的三个事件的一次性激活条件设为各自对应的任务配置中的启动时间;
9、所述任务激活模块还用于在各个所述第一准备事件、所述第一部署事件或所述第一测试事件对应的启动时间与当前时间匹配时将当前事件对应的所述第一准备任务配置、所述第一部署任务配置或所述第一测试任务配置提取出来向所述任务调度模块发送,并在发送结束时将当前事件删除;
10、所述项目代码仓库用于在接收到所述任务调度模块发送的所述第一任务运行指令时,从中提取出对应的所述第一准备任务配置;并根据所述第一准备任务配置对本地对应的第一项目目录进行项目编译、服务镜像构建和服务镜像推送处理得到对应的所述第一任务报告向所述任务调度模块回发;
11、所述项目代码仓库还用于在接收到所述任务调度模块发送的所述第一接口查询指令时,从中提取出对应的所述第一项目标识和所述第一项目版本;并根据所述第一项目标识和所述第一项目版本对本地对应的所述第一项目目录进行服务镜像下载接口查询处理得到对应的所述第一服务镜像下载接口向所述任务调度模块回发;
12、所述任务通知模块用于在接收到所述任务激活模块发送的所述第一通知数据,基于所述第一通知数据进行准备任务即时通知发布处理;并在接收到所述任务激活模块发送的所述第二通知数据,基于所述第二通知数据进行服务部署任务即时通知发布处理;并在接收到所述任务激活模块发送的所述第三通知数据,基于所述第三通知数据进行服务测试任务即时通知发布处理。
13、优选的,所述第一任务配置包括所述第一项目标识、所述第一项目版本、第一代码仓配置和第一服务器集群配置;所述第一代码仓配置包括第一代码仓启动时间、第一代码标签和第一通知接口清单;所述第一通知接口清单包括多个第一通知接口;所述第一服务器集群配置包括第一集群部署启动时间、第一集群测试启动时间、第二通知接口清单和多个第一服务器端口配置;所述第二通知接口清单包括多个第二通知接口;每个所述第一服务器端口配置对应一个所述业务服务器,所述第一服务器端口配置包括第一服务器部署端口和第一服务器测试端口;所述第一代码仓启动时间早于所述第一集群部署启动时间,所述第一集群部署启动时间早于所述第一集群测试启动时间;
14、所述第一准备任务配置包括所述第一项目标识、所述第一项目版本、所述第一代码仓启动时间、所述第一代码标签和所述第一通知接口清单;所述第一部署任务配置包括所述第一项目标识、所述第一项目版本、所述第一集群部署启动时间、所述第二通知接口清单和多个所述第一服务器部署端口;所述第一测试任务配置包括所述第一项目标识、所述第一项目版本、所述第一集群测试启动时间、所述第二通知接口清单和多个所述第一服务器测试端口;
15、所述第一通知数据包括所述第一项目标识、所述第一项目版本、所述第一代码仓启动时间、所述第一代码标签、所述第一通知接口清单和所述第一任务报告;所述第二通知数据包括所述第一项目标识、所述第一项目版本、所述第一集群部署启动时间、所述第二通知接口清单和所述第二任务报告;所述第三通知数据包括所述第一项目标识、所述第一项目版本、所述第一集群测试启动时间、所述第二通知接口清单和所述第三任务报告;
16、所述第一准备事件对应的启动时间为对应的所述第一准备任务配置的所述第一代码仓启动时间;所述第一部署事件对应的启动时间为对应的所述第一部署任务配置的所述第一集群部署启动时间;所述第一测试事件对应的启动时间为对应的所述第一测试任务配置的所述第一集群测试启动时间。
17、优选的,所述任务调度模块具体用于在所述对所述第一任务配置进行准备、部署和测试任务配置分解生成对应的第一准备任务配置、第一部署任务配置和第一测试任务配置向所述任务激活模块发送时,由所述第一任务配置的所述第一项目标识、所述第一项目版本以及所述第一代码仓配置的所述第一代码仓启动时间、所述第一代码标签和所述第一通知接口清单组成对应的所述第一准备任务配置;并由所述第一任务配置的所述第一项目标识、所述第一项目版本以及所述第一服务器集群配置的所述第一集群部署启动时间、所述第二通知接口清单和所有所述第一服务器端口配置的所述第一服务器部署端口组成对应的所述第一部署任务配置;并由所述第一任务配置的所述第一项目标识、所述第一项目版本以及所述第一服务器集群配置的所述第一集群测试启动时间、所述第二通知接口清单和所有所述第一服务器端口配置的所述第一服务器测试端口组成对应的所述第一测试任务配置;并将本次得到的所述第一准备任务配置、所述第一部署任务配置和所述第一测试任务配置向所述任务激活模块发送。
18、优选的,所述任务调度模块具体用于在所述根据所述第一准备任务配置和所述第一任务报告进行准备任务通知数据封装处理生成对应的第一通知数据向所述任务通知模块发送时,由所述第一准备任务配置的所述第一项目标识、所述第一项目版本、所述第一代码仓启动时间、所述第一代码标签和所述第一通知接口清单以及所述第一任务报告组成对应的所述第一通知数据向所述任务通知模块发送;
19、所述任务调度模块具体用于在所述根据所述第一部署任务配置和所述第二任务报告进行服务部署任务通知数据封装处理生成对应的第二通知数据向所述任务通知模块发送时,由所述第一部署任务配置的所述第一项目标识、所述第一项目版本、所述第一集群部署启动时间、所述第二通知接口清单以及所述第二任务报告组成对应的所述第二通知数据向所述任务通知模块发送;
20、所述任务调度模块具体用于在所述根据所述第一测试任务配置和所述第三任务报告进行服务测试任务通知数据封装处理生成对应的第三通知数据向所述任务通知模块发送时,由所述第一测试任务配置的所述第一项目标识、所述第一项目版本、所述第一集群测试启动时间、所述第二通知接口清单以及所述第三任务报告组成对应的所述第三通知数据向所述任务通知模块发送。
21、优选的,所述任务调度模块具体用于在所述根据所述第一服务镜像下载接口对与所述第一部署任务配置匹配的各个所述业务服务器进行服务部署处理生成对应的第二任务报告时,从所述第一部署任务配置中提取出对应的所述第一项目标识和多个所述第一服务器部署端口,并将提取出的各个所述第一服务器部署端口作为对应的第二服务器部署端口;并将携带了所述第一项目标识和所述第一服务镜像下载接口的第一服务部署指令向各个所述第二服务器部署端口发送;并接收各个所述第二服务器部署端口回发的第一部署指令状态;并由各个所述第二服务器部署端口和对应的所述第一部署指令状态组成一个对应的第一服务器部署记录;并由得到的所有所述第一服务器部署记录组成对应的所述第二任务报告。
22、优选的,任一所述业务服务器用于在对自身的服务器部署端口进行持续侦听;并在每次侦听接收到一个所述任务调度模块发送的所述第一服务部署指令时,就从中提取出对应的所述第一项目标识和所述第一服务镜像下载接口;并对本地正在运行的多个应用服务中是否存在与所述第一项目标识对应的应用服务进行确认,若存在则对该应用服务进行服务关停处理;并通过所述第一服务镜像下载接口从所述服务镜像仓库上下载对应的服务镜像文件包存于本地的数据缓存区作为对应的第一服务镜像文件包;并在所述第一服务镜像文件包下载成功时,基于所述第一服务镜像文件包进行服务安装处理;并在服务安装处理成功后,对所述第一项目标识对应的应用服务进行服务重启处理;并在所述服务重启处理成功时,将具体设为部署成功的所述第一部署指令状态向所述任务调度模块回发。
23、优选的,所述任务调度模块具体用于在所述对与所述第一测试任务配置匹配的各个所述业务服务器进行部署服务测试处理生成对应的第三任务报告时,从所述第一测试任务配置中提取出对应的所述第一项目标识、所述第一项目版本和多个所述第一服务器测试端口,并将提取出的各个所述第一服务器测试端口作为对应的第二服务器测试端口;并将携带了所述第一项目标识的第一服务版本查询指令向各个所述第二服务器部署端口发送;并接收各个所述第二服务器部署端口回发的第一查询版本数据;并对各个所述第二服务器测试端口对应的所述第一查询版本数据与所述第一项目版本是否匹配进行识别,若匹配则设置对应的第一服务器测试结果为成功,若不匹配则设置对应的所述第一服务器测试结果为错误;并由各个所述第二服务器测试端口和对应的所述第一项目标识、所述第一项目版本、所述第一查询版本数据和所述第一服务器测试结果组成一个对应的所述第一服务器测试记录;并由得到的所有所述第一服务器测试记录组成对应的所述第三任务报告。
24、优选的,任一所述业务服务器还用于在对自身的服务器测试端口进行持续侦听;并在每次侦听接收到一个所述任务调度模块发送的所述第一服务版本查询指令时,就从中提取出对应的所述第一项目标识;并将本地已经安装的多个应用服务中与所述第一项目标识对应的应用服务作为对应的当前应用服务;并将所述当前应用服务的版本信息提取出来作为对应的所述第一查询版本数据向所述任务调度模块发送。
25、优选的,所述项目代码仓库还用于在本地存储多个所述第一项目目录;每个所述第一项目目录对应一个项目标识;
26、所述第一项目目录的根目录下存储四个文件目录和三个可执行脚本;所述四个文件目录分别为源代码文件目录、编译文件目录、镜像构建文件目录和镜像推送文件目录;所述三个可执行脚本分别为项目编译脚本、服务镜像构建脚本和服务镜像推送脚本;
27、所述源代码文件目录用于存储当前项目的多个源代码文件;每个所述源代码文件对应一个代码标签;
28、所述编译文件目录下存储多个编译子目录;每个所述编译子目录对应一组项目标识+项目版本;每个所述编译子目录下存储一个可执行文件包及其对应的编译日志文件;所述编译日志文件包括多个第一单步日志记录,每个所述第一单步日志记录包括一个第一单步执行状态,所述第一单步执行状态包括错误状态和成功状态;
29、所述镜像构建文件目录下存储多个构建子目录;每个所述构建子目录对应一组项目标识+项目版本;每个所述构建子目录下存储一个服务镜像文件包及其对应的镜像构建日志文件;所述镜像构建日志文件包括多个第二单步日志记录,每个所述第二单步日志记录包括一个第二单步执行状态,所述第二单步执行状态包括错误状态和成功状态;
30、所述镜像推送文件目录下存储多个推送子目录;每个所述推送子目录对应一组项目标识+项目版本;每个所述推送子目录下存储一个服务镜像推送日志文件;所述服务镜像推送日志文件包括多个第三单步日志记录和一个所述第一服务镜像下载接口,每个所述第三单步日志记录包括一个第三单步执行状态,所述第三单步执行状态包括错误状态和成功状态;
31、所述项目编译脚本用于在脚本运行时,在所述编译文件目录下新建一个所述编译子目录作为对应的当前编译子目录,并基于一组指定的项目标识+项目版本对所述当前编译子目录进行命名;并对所述源代码文件目录中与一个指定的代码标签对应的所有所述源代码文件进行可执行文件编译处理生成对应的所述可执行文件包和所述编译日志文件存入所述当前编译子目录;并基于所述当前编译子目录对应的这组项目标识+项目版本对本次获得的所述可执行文件包和所述编译日志文件进行文件包和日志文件命名;
32、所述服务镜像构建脚本用于在脚本运行时,在所述镜像构建文件目录下新建一个所述构建子目录作为对应的当前构建子目录,并基于一组指定的项目标识+项目版本对所述当前构建子目录进行命名;并将所述编译文件目录中与当前这组指定的项目标识+项目版本对应的所述编译子目录下的所述可执行文件包提取出来作为对应的当前可执行文件包;并根据所述当前可执行文件包进行服务镜像文件构建处理生成对应的服务镜像文件包和镜像构建日志文件存入所述当前构建子目录;并基于所述当前构建子目录对应的这组项目标识+项目版本对本次获得的所述服务镜像文件包和所述镜像构建日志文件进行文件包和日志文件命名;
33、所述服务镜像推送脚本用于在脚本运行时,在所述镜像推送文件目录下新建一个所述推送子目录作为对应的当前推送子目录,并基于一组指定的项目标识+项目版本对所述当前推送子目录进行命名;并将所述镜像构建文件目录中与当前这组指定的项目标识+项目版本对应的所述构建子目录下的所述服务镜像文件包提取出来作为对应的当前服务镜像文件包;并将所述当前服务镜像文件包推送到所述服务镜像仓库进行远程服务镜存储处理生成对应的所述服务镜像推送日志文件存入所述当前推送子目录,并向所述服务镜像仓库为当次远程存储的服务镜像文件包申请一个公开的镜像下载接口作为对应的所述第一服务镜像下载接口存入所述服务镜像推送日志文件中;并基于所述当前推送子目录对应的这组项目标识+项目版本对本次获得的所述服务镜像推送日志文件进行日志文件命名。
34、优选的,所述项目代码仓库具体用于在所述根据所述第一准备任务配置对本地对应的第一项目目录进行项目编译、服务镜像构建和服务镜像推送处理得到对应的所述第一任务报告向所述任务调度模块回发时,从所述第一准备任务配置中提取出对应的所述第一项目标识、所述第一项目版本、所述第一代码仓启动时间、所述第一代码标签和所述第一通知接口清单;
35、并将本地与所述第一项目标识对应的所述第一项目目录作为对应的当前项目目录;并将所述当前项目目录的所述项目编译脚本、所述服务镜像构建脚本和所述服务镜像推送脚本作为对应的当前编译脚本、当前镜像构建脚本和当前镜像推送脚本;
36、并运行所述当前编译脚本,由运行的所述当前编译脚本在所述当前项目目录的所述编译文件目录下新建一个所述编译子目录作为对应的当前编译子目录,并基于所述第一项目标识和所述第一项目版本对所述当前编译子目录进行命名;并对所述当前项目目录的所述源代码文件目录中与所述第一代码标签对应的所有所述源代码文件进行可执行文件编译处理生成对应的所述可执行文件包和所述编译日志文件存入所述当前编译子目录;并基于所述当前编译子目录对应的所述第一项目标识和所述第一项目版本对本次获得的所述可执行文件包和所述编译日志文件进行文件包和日志文件命名;
37、并对所述编译日志文件的所有所述第一单步日志记录的所述第一单步执行状态是否都为成功状态进行识别;
38、若所有所述第一单步执行状态不全为成功状态,则将所述编译日志文件中所述第一单步执行状态为错误状态的所述第一单步日志记录提取出来组成对应的第一错误日志记录集合;并设置对应的第一执行状态为编译错误中止状态;并由得到的所述第一执行状态、所述第一错误日志记录集合和所述编译日志文件组成对应的所述第一任务报告向所述任务调度模块回发;
39、若所有所述第一单步执行状态全为成功状态,则运行所述服务镜像构建脚本,由运行的所述服务镜像构建脚本在所述当前项目目录的所述镜像构建文件目录下新建一个所述构建子目录作为对应的当前构建子目录,并基于所述第一项目标识和所述第一项目版本对所述当前构建子目录进行命名;并将所述当前项目目录的所述编译文件目录中与所述第一项目标识和所述第一项目版本对应的所述编译子目录下的所述可执行文件包提取出来作为对应的当前可执行文件包;并根据所述当前可执行文件包进行服务镜像文件构建处理生成对应的所述服务镜像文件包和所述镜像构建日志文件存入所述当前构建子目录;并基于所述当前构建子目录对应的所述第一项目标识和所述第一项目版本对本次获得的所述服务镜像文件包和所述镜像构建日志文件进行文件包和日志文件命名;
40、并对所述镜像构建日志文件的所有所述第二单步日志记录的所述第二单步执行状态是否都为成功状态进行识别;
41、若所有所述第二单步执行状态不全为成功状态,则将所述镜像构建日志文件中所述第二单步执行状态为错误状态的所述第二单步日志记录提取出来组成对应的第二错误日志记录集合;并设置对应的第二执行状态为镜像构建错误中止状态;并由得到的所述第二执行状态、所述第二错误日志记录集合和所述镜像构建日志文件组成对应的所述第一任务报告向所述任务调度模块回发;
42、若所有所述第二单步执行状态全为成功状态,则运行所述服务镜像推送脚本,由运行的所述服务镜像推送脚本在所述当前项目目录的所述镜像推送文件目录下新建一个所述推送子目录作为对应的当前推送子目录,并基于所述第一项目标识和所述第一项目版本对所述当前推送子目录进行命名;并将所述当前项目目录的所述镜像构建文件目录中与所述第一项目标识和所述第一项目版本对应的所述构建子目录下的所述服务镜像文件包提取出来作为对应的当前服务镜像文件包;并将所述当前服务镜像文件包推送到所述服务镜像仓库进行远程服务镜存储处理生成对应的所述服务镜像推送日志文件存入所述当前推送子目录,并向所述服务镜像仓库为当次远程存储的服务镜像文件包申请一个公开的镜像下载接口作为对应的所述第一服务镜像下载接口存入所述服务镜像推送日志文件中;并基于所述当前推送子目录对应的所述第一项目标识和所述第一项目版本对本次获得的所述服务镜像推送日志文件进行日志文件命名;
43、并对所述服务镜像推送日志文件的所有所述第三单步日志记录的所述第三单步执行状态是否都为成功状态进行识别;
44、若所有所述第三单步执行状态不全为成功状态,则将所述服务镜像推送日志文件中所述第三单步执行状态为错误状态的所述第三单步日志记录提取出来组成对应的第三错误日志记录集合;并设置对应的第三执行状态为镜像推送错误中止状态;并由得到的所述第三执行状态、所述第三错误日志记录集合和所述服务镜像推送日志文件组成对应的所述第一任务报告向所述任务调度模块回发;
45、若所有所述第三单步执行状态全为成功状态,设置对应的第四执行状态为任务成功状态;并从所述服务镜像推送日志文件中提取出对应的所述第一服务镜像下载接口;并由得到的所述第四执行状态、所述第一服务镜像下载接口、所述编译日志文件、所述镜像构建日志文件和所述服务镜像推送日志文件组成对应的所述第一任务报告向所述任务调度模块回发。
46、优选的,所述项目代码仓库具体用于在所述根据所述第一项目标识和所述第一项目版本对本地对应的所述第一项目目录进行服务镜像下载接口查询处理得到对应的所述第一服务镜像下载接口向所述任务调度模块回发时,将本地与所述第一项目标识对应的所述第一项目目录作为对应的当前项目目录;并将所述当前项目目录的所述镜像推送文件目录下与所述第一项目标识和所述第一项目版本对应的所述推送子目录作为对应的当前子目录;并将所述当前子目录下的所述服务镜像推送日志文件中的所述第一服务镜像下载接口提取出来向所述任务调度模块回发。
47、优选的,所述任务通知模块具体用于在所述基于所述第一通知数据进行准备任务即时通知发布处理时,从所述第一通知数据中提取出对应的所述第一项目标识、所述第一项目版本、所述第一代码仓启动时间、所述第一代码标签、所述第一通知接口清单和所述第一任务报告;并对所述第一任务报告进行存储,并为存储的所述第一任务报告分配一个文件访问url地址作为对应的第一url地址;并将所述第一项目标识、所述第一项目版本、所述第一代码仓启动时间、所述第一代码标签和所述第一url地址带入预设的准备任务通知消息模板得到对应的第一准备任务通知消息;并将所述第一准备任务通知消息向所述第一通知接口清单的各个所述第一通知接口推送;
48、所述任务通知模块具体用于在所述基于所述第二通知数据进行服务部署任务即时通知发布处理时,从所述第一通知数据中提取出对应的所述第一项目标识、所述第一项目版本、所述第一集群部署启动时间、所述第二通知接口清单和所述第二任务报告;并对所述第二任务报告进行存储,并为存储的所述第二任务报告分配一个文件访问url地址作为对应的第二url地址;并将所述第一项目标识、所述第一项目版本、所述第一集群部署启动时间和所述第二url地址带入预设的服务部署任务通知消息模板得到对应的第一服务部署任务通知消息;并将所述第一服务部署任务通知消息向所述第二通知接口清单的各个所述第二通知接口推送;
49、所述任务通知模块具体用于在所述基于所述第三通知数据进行服务测试任务即时通知发布处理时,从所述第三通知数据中提取出对应的所述第一项目标识、所述第一项目版本、所述第一集群测试启动时间、所述第二通知接口清单和所述第三任务报告;并对所述第三任务报告进行存储,并为存储的所述第三任务报告分配一个文件访问url地址作为对应的第三url地址;并将所述第一项目标识、所述第一项目版本、所述第一集群测试启动时间和所述第三url地址带入预设的服务测试任务通知消息模板得到对应的第一服务测试任务通知消息;并将所述第一服务测试任务通知消息向所述第二通知接口清单的各个所述第二通知接口推送。
50、本发明实施例提供了一种服务部署系统,该系统包括:任务调度模块、任务激活模块、项目代码仓库、服务镜像仓库、任务通知模块和多个业务服务器;其中,任务调度模块分别与任务激活模块、项目代码仓库、服务镜像仓库、任务通知模块和各个业务服务器连接,项目代码仓库与服务镜像仓库连接,服务镜像仓库与各个业务服务器连接。本发明系统的任务调度模块先将每个服务部署任务分拆成三个时间阶段的子任务:准备、部署和测试阶段任务,并由任务激活模块以事件方式对每个服务部署任务的每阶段子任务进行对应的事件管理,并由任务激活模块在各事件对应的启动时间点向任务调度模块发送对应的子任务配置来激活调度模块侧的对应处理流程;任务调度模块在收到任务激活模块发送的准备任务配置时,将其向项目代码仓库转发,并由项目代码仓库联合服务镜像仓库自动完成对应的项目编译、服务镜像构建和服务镜像推送处理;任务调度模块在收到任务激活模块发送的部署任务配置时,通过查询项目代码仓库获得当前配置对应的服务镜像下载接口,并将接口向配置中的所有业务服务器发送以激活业务服务器侧的旧服务关停、新服务下载和新更新处理流程;任务调度模块在收到任务激活模块发送的测试任务配置时,对配置中所有业务服务器上指定服务的版本进行查询和比对,由此就能对之前处理的批量部署任务中是否存在服务器错漏、服务版本错误等问题进行检查。通过本发明系统不但可以提高服务部署的规模和频次,还可以提高每次部署的准确度和实施效率。