CN108399083A - 一种系统部署方法、装置、电子设备和存储介质 - Google Patents

一种系统部署方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN108399083A
CN108399083A CN201710067596.0A CN201710067596A CN108399083A CN 108399083 A CN108399083 A CN 108399083A CN 201710067596 A CN201710067596 A CN 201710067596A CN 108399083 A CN108399083 A CN 108399083A
Authority
CN
China
Prior art keywords
deployment
task
information
xml
xml configuration
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.)
Granted
Application number
CN201710067596.0A
Other languages
English (en)
Other versions
CN108399083B (zh
Inventor
樊宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710067596.0A priority Critical patent/CN108399083B/zh
Publication of CN108399083A publication Critical patent/CN108399083A/zh
Application granted granted Critical
Publication of CN108399083B publication Critical patent/CN108399083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种系统部署方法、装置、电子设备和存储介质,该方法包括:自动化运维系统基于XML配置信息将各种运维信息和依赖信息配置在一起,下发部署消息给对应服务器,使服务器根据部署任务XML配置信息进行灵活的系统部署。该方案只需配置XML信息和执行脚本,不受语言,以及系统开发框架的限制,能够提高系统部署效率,且节省部署资源。

Description

一种系统部署方法、装置、电子设备和存储介质
技术领域
本发明涉及信息处理技术领域,特别涉及一种系统部署方法、装置、电子设备和存储介质。
背景技术
在软件部署时经常运用自动化运维系统,解决人工部署时间长,易出错的问题。
现有的多采用直接网络连接的形式复制文件,或采用基于传统消息网络或网络接口的形式传送运维命令,对于运维程序来说适用性差,维护不变,不能针对通用的部署环境提供通用的自动化运维系统。
发明内容
有鉴于此,本申请提供一种系统部署方法、装置、电子设备和存储介质,能够提高系统部署效率,且节省部署资源。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种系统部署方法,该方法包括:
部署服务器接收到自动化运维系统下发的部署消息时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点,并将未部署节点对应的依赖环境进行部署,直到所有节点安装并正确配置;
根据部署任务XML配置信息中的部署包存储地址,下载部署包,并使用部署任务XML配置信息中的配置管理节点信息修改部署包中的配置文件;
运行修改了配置文件的部署包,执行部署系统的启动;
在部署系统启动后,通过部署任务XML配置信息中的日志路径,反馈启动日志信息给自动化运维系统;
执行部署任务XML配置信息中的检测系统是否部署成功的方法,并将检测结果返回给自动化运维系统。
一种系统部署装置,该装置包括:接收单元、部署单元、启动单元和反馈单元;
接收单元,用于接收部署消息;
所述部署单元,用于当所述接收单元接收到自动化运维系统下发的部署消息时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点,并将未部署节点对应的依赖环境进行部署,直到所有节点安装并正确配置;根据部署任务XML配置信息中的部署包存储地址,下载部署包,并使用部署任务XML配置信息中的配置管理节点信息修改部署包中的配置文件;
所述启动单元,用于运行所述部署单元修改了配置文件的部署包,执行部署系统的启动;
所述反馈单元,用于在所述启动单元启动部署系统后,通过部署任务XML配置信息中的日志路径,反馈启动日志信息给自动化运维系统;执行部署任务XML配置信息中的检测系统是否部署成功的方法,并将检测结果返回给自动化运维系统。
一种电子设备,包括:
至少一个中央处理器;以及,
与所述至少一个中央处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个中央处理器执行的指令,所述指令被所述至少一个中央处理器执行,以使所述至少一个中央处理器能够执行上述方法。
一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。
由上面的技术方案可知,本申请中自动化运维系统基于XML配置信息将各种运维信息和依赖信息配置在一起,下发部署消息给对应服务器,使服务器根据部署任务XML配置信息进行灵活的系统部署。该方案只需配置XML信息和执行脚本,不受语言,以及系统开发框架的限制,能够提高系统部署效率,且节省部署资源。
附图说明
图1为本申请实施例中编译打包任务处理示意图;
图2为本申请实施例中系统部署流程示意图;
图3为本申请实施例中应用于上述技术的装置结构示意图;
图4为本申请实施例中电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种系统部署方法,自动化运维系统基于可扩展标记语言(Extensible Markup Language,XML)配置信息将各种运维信息和依赖信息配置在一起,下发部署消息给对应服务器,使服务器根据部署任务XML配置信息进行灵活的系统部署。该方案只需配置XML信息和执行脚本,不受语言,以及系统开发框架的限制,能够提高系统部署效率,且节省部署资源。
本申请实施例中在部署任务之前,由运维人员通过自动化运维系统的web管理端生成运维任务所需要的XML配置模板。
由运维人员对外部依赖文件上传(配置节点中设置的额外下载文件信息),需要先在此上传文件至云存储、web服务器等网络介质中,上传文件时设置的文件ID与XML配置中的文件ID相同。所有部署相关文件均在后台数据库中建联关联,方便部署时获取,包括不限于部署包、配置文件、配置模板、运维任务的XML等。
非运维人员通过自动化运维系统的web管理端根据需要,选择不同的配置信息模板组合,并可在适当的节点加入自定义运维命令配置,生成编译打包任务XML配置文件和部署任务XML配置信息。
非运维人员确认生成的XML配置信息无误后,向自动化运维系统提交运维任务。
将自动化运维任务中配置的任务主题在消息总线中注册该任务主题,用于接收编译服务器和部署服务器回传任务运维进度和日志信息。
部署任务XML配置信息包括:自定义XML配置信息和XML模板配置信息,其中,该XML模板配置信息为基础部署信息。
在具体实现时,对于不易改变的XML配置信息,且大多数任务部署都需要的部署信息,可以配置成配置模板;在生成不同的任务时,不需要手动配置XML配置信息,只需直接引用XML模板配置信息即可,如为每个配置模板分配全局唯一的ID,直接引用该ID对应的模板即可。
部署任务XML配置信息包含如下内容:
部署环境的IP地址,服务器用户名、登录密码,部署任务主题;支持多个已安装自动化运维服务端代理程序的服务器。
部署系统依赖的环境信息:依赖环境检测顺序、依赖环境部署成功检测条件、依赖环境安装命令、依赖环境启动命令、启动命令参数、依赖环境部署子节点信息(包括依赖环境检测顺序、依赖环境部署成功检测条件、下载路径或运维脚本源代码或运维二进制文件由XML的CDATA区段特性实现、依赖环境部署子节点信息)该节点信息可以嵌套定义。
部署系统的部署包的信息:部署包存储地址。
配置管理信息列表:配置管理节点信息,用指定的配置信息替换部署包中的配置文件。
启动前的运维部署信息:包括运维程序标识符、依赖环境信息,可能包含的自定义运维程序信息(自定义程序名称、下载路径或运维脚本源代码或运维二进制文件由XML的CDATA区段特性实现、命令行参数、返回结果的获取信息等),也可以配置成模板信息,该节点信息可以嵌套定义。该信息为可选,在实际中根据具体部署系统的情况确定是否有。
启动部署系统信息:启动命令路径和命令行参数。
启动后日志反馈路径。
检测系统是否部署成功的方法:检测程序标识符、依赖环境信息,可能包含的自定义运维程序信息(自定义程序名称、下载路径或运维脚本源代码或运维二进制文件由XML的CDATA区段特性实现、命令行参数、返回结果的获取信息等)。
在生成部署包时,需要先生成编译打包任务XML配置信息。
针对编译打包任务XML配置信息包括:自定义XML配置信息和XML模板配置信息;其中,该XML模板配置信息为基础编译信息。
编译打包任务XML配置信息具体如下:编译环境的IP地址,服务器用户名、登录密码,编译打包任务主题,源代码信息(源代码版本库地址,版本库类型、分支信息,版本信息,编译打包命令、编译打包服务器地址);支持多个已安装自动化运维服务端代理程序的服务器。
编译系统的依赖环境信息:依赖环境检测顺序、依赖环境部署成功检测条件、依赖环境安装命令、依赖环境启动命令、启动命令参数、依赖环境部署子节点信息(依赖环境检测顺序、依赖环境部署成功检测条件、依赖环境部署子节点信息),可能包含的自定义运维程序信息(自定义程序名称、下载路径或运维脚本源代码或运维二进制文件由XML的CDATA区段特性实现、命令行参数、返回结果的获取信息等),该节点信息可以嵌套定义。
编译启动前的运维信息:包括运维程序标识符、依赖环境信息,可能包含的自定义运维程序信息(自定义程序名称、下载路径或运维脚本源代码或运维二进制文件由XML的CDATA区段特性实现、命令行参数、返回结果的获取信息等),该节点信息可以嵌套定义。
编译完成后的运维信息:包括运维程序标识符、依赖环境信息,可能包含的自定义运维程序信息(自定义程序名称、下载路径或运维脚本源代码或运维二进制文件由XML的CDATA区段特性实现、命令行参数、返回结果的获取信息等)该节点信息可以嵌套定义。
编译启动前的运维信息和编译完成后的运维信息为可选配置信息,在实际中根据具体部署系统的情况确定是否有。
在编译打包任务XML配置信息和部署任务XML配置信息中,每个配置节点均配置程序的正确部署输出信息节点和错误异常信息输出节点,在自动化运维日志中显示编译、部署的全过程。
下面给出一个XML配置信息示例,在该示例中将部署任务XML配置信息和编译XML配置信息合在一个XML配置文件中,在具体实现时,也可以分开给出,指明对应的任务主题即可。
下面结合附图,详细描述本申请实现编译打包任务编译的过程。执行编译打包任务的服务器上安装自动化运维服务端代理程序,通过该代理程序实现编译打包任务的编译。执行编译打包任务的服务器可以是多个,每个服务器执行自动化运维系统下发的任务即可,本实施例以一个服务器执行编译打包任务为例。
参见图1,图1为本申请实施例中编译打包任务处理示意图。具体步骤为:
步骤101,编译服务器接收到运维系统下发的编译消息时,通过该编译消息中的编译打包任务XML配置信息,获得编译打包任务需要的依赖环境信息的所有节点,并将未部署的节点对应的依赖环境进行部署,直到所有节点安装并正确配置。
编译服务器通过该编译消息中的编译打包任务XML配置信息,获得编译打包任务需要的依赖环境信息的所有节点之前,先根据编译打包任务的XML配置信息确定该编译打包任务是否需要独占访问;
当确定该编译打包任务需要独占访问时,确定该服务器是否加锁,如果是,进入等队列,直到轮询到该编译打包任务;否则,进行加锁,禁止其它任务访问该服务器。
本步骤中在获得编译打包任务需要的依赖环境信息的所有节点时,依次递归遍历所有节点,这里可能存在一些嵌套的节点,要一一遍历到。
步骤102,该编译服务器若确定存在编译前自动化运维配置信息,则获得编译打包任务需要的依赖环境信息的所有节点,并将未部署的节点对应的依赖环境进行部署,直到所有节点安装并正确配置。
本申请实施例中提到的节点均指XML配置信息中的节点,如果该节点中还嵌套节点,则称为子节点,在获得节点时,应该获得一个节点以及对应的所有子节点。
编译前自动化运维配置信息如系统环境变量设置,配置文件修改等。
步骤103,该编译服务器解析编译打包任务XML配置信息,获得源代码信息节点,下载对应的源代码,并进行编译打包。
步骤104,该编译服务器若确定存在编译完成后的自动化运维配置信息,则获得编译打包任务需要的依赖环境信息的所有节点,并将未部署的相关依赖环境进行部署,直到所有节点安装并正确配置。
步骤105,编译服务器将部署包存储,并生成部署包存储地址,反馈给自动化运维系统。
在具体实现时,如可以将部署包上传至云存储服务器,即存储到其它设备能够获取的地方。
如果编译服务器加锁,此时还需进行解锁,允许其它任务访问该服务器。
以上编译打包任务进行编译的过程中,针对编译打包任务XML配置文件中配置的正确和错误提示信息,向自动化运维系统反馈处理结果。
自动化运维系统将反馈结果反馈给该编译打包任务,根据实际反馈结果确定是否修改当前编译打包任务对应的编译打包任务XML配置信息。
下面结合附图,详细描述本申请实现部署任务部署的过程。执行部署任务的服务器上安装自动化运维服务端代理程序,通过该代理程序实现部署任务的部署。执行部署任务的服务器可以是多个,每个服务器执行自动化运维系统下发的任务即可,本实施例以一个服务器执行部署任务为例。
参见图2,图2为本申请实施例中系统部署流程示意图。具体步骤为:
步骤201,部署服务器接收到自动化运维系统下发的部署消息时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点,并将未部署节点对应的依赖环境进行部署,直到所有节点安装并正确配置。
本步骤中通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点之前,进一步包括:
通过所述部署任务XML配置信息确定部署任务是否需要独占访问服务器;
当确定该部署任务需要独占访问服务器时,若该部署服务器已加锁,则进入等队列中,直到轮询到该部署任务;若该部署服务器未加锁,则进行加锁后,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;
当确定该部署任务不需要独占访问服务器时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点。
本步骤中在获得部署任务需要的依赖环境信息的所有节点时,依次递归遍历所有节点,这里可能存在一些嵌套的节点,要一一遍历到。
步骤202,该部署服务器根据部署任务XML配置信息中的部署包存储地址,下载部署包,并使用部署任务XML配置信息中的配置管理节点信息修改部署包中的配置文件。
在部署任务XML配置信息中若指定部署目录,应将部署包下载到部署目录中。
下载的部署包为编译服务器根据自动化运维系统下发的编译消息中的编译打包任务XML配置信息进行编译处理打包生成的,也可以是其它方式生成的部署包。
步骤203,该部署服务器运行修改了配置文件的部署包,执行部署系统的启动。
执行本步骤之前,若确定部署任务XML配置信息中存在启动前的运维部署信息的部署安装,则获得启动前的运维部署信息,并将未安装的启动前的运维部署信息进行安装并正确配置。
步骤204,该部署服务器在部署系统启动后,通过部署任务XML配置信息中的日志路径,反馈启动日志信息给自动化运维系统。
步骤205,该部署服务器执行部署任务XML配置信息中的检测系统是否部署成功的方法,并将检测结果返回给自动化运维系统。
此时,若确定所述代理程序已加锁,则进行解锁。
在部署过程中,根据对应XML配置信息中的正确和错误提示信息,向自动化运维系统反馈处理结果。
自动化运维系统将反馈结果反馈给该部署任务,根据实际反馈结果确定是否修改当前部署任务对应的部署任务XML配置信息。
下面给出一个具体实施例,详细描述本申请实施例中实现系统部署的过程。
通过自动化运维系统部署一套基于Tomcat和Mysql数据库的web系统。
运维人员A对Mysql的部署过程熟悉,配置了完整的Mysql的配置模板信息,包括依赖的环境信息、源码包存储位置、安装启动过程等。
运维人员B对Tomcat的配置过程熟悉,配置了完整的Tomcat的配置信息横板,包括依赖环境信息、软件包存储位置、启动过程等。同时也包括JDK的配置信息模板。
运维人员D负责添加有关服务器监控信息的配置模板,用于启动服务后的监控数据收集和反馈。
质控人员D配置了该系统的编译源码相关信息的项目模板,供编译任务时使用。
部署人员需要部署Tomcat+Mysql的web系统,在自动化运维系统中选择Mysql、Tomcat、JDK和项目源码配置模板和所需软件版本等信息。确认无误后提交编译打包运维任务,即编译打包任务。
自动化运维系统根据配置信息,将编译打包任务通过编译消息下发到指定服务器(编译服务器)上,该指定服务器上安装自动化运维代理Agent程序,执行编译打包任务。
编译服务器收到编译消息时,根据消息中的编译打包任务XML配置信息先确认是否需要独占方式编译;
假设需要独占方式编译,且当前服务器未加锁,则加锁。
在加锁之后,进一步解析编译打包任务XML配置信息,因为编译打包环境依次需要JDK、Maven两个依赖环境,进一步解析嵌套的依赖环境信息,判断是否在指定路径上安装所需软件的版本,是否配置相应的系统环境变量和配置,如果没有安装,则根据配置信息去下载安装相应的软件,并进行相应的配置,最后运行配置管理中的检测安装成功的方法判断是否可用,如果不可用,删除原有安装环境重新安装配置,重新安装配置后仍不可用,退任务宣告失败。安装程序后会将所需依赖软件的路径等信息存入编译打包任务XML配置信息中指定名称的XML节点中,以供后续节点使用。
在依赖环境可用后,获得编译节点相关配置信息,下载源代码地址,进行编译打包操作生成部署包。
打包成功后将部署包上传至云存储服务器中,编译打包过程结束,并生成部署包存储地址反馈给自动化运维系统。
自动化运维系统配置部署任务XML配置信息,下发部署消息到待部署服务器,该服务器运行自动化运维代理程序,用于执行部署任务。
由于Tomcat+mysql的web系统,通常mysql在一台服务器上,tomcat在另一台服务器上,自动化运维系统会分别下发两个条部署消息至两台机器中。
首先是Mysql的源码安装部署,mysql服务器接收到部署任务消息,根据该消息中的部署任务XML配置信息中的Mysql依赖,依次检测gcc编译器、cmake程序,如果没有安装则进行安装,安装完成后,根据mywql的模板信息,执行mysql的源码编译命令、安装命令、启动命令。
mysql服务器从项目模板中获得数据库授权信息,进行授权操作;再获得mysql的ddl的sql文件地址,下载ddl文件,并执行ddl操作。执行完成后将mysql的链接信息写入mysql服务器中的指定XML节点中,供后续运维节点使用,最后将结果反馈给自动化运维系统,进行接下来的部署工作,同时成功运行后,将根据监控配置信息指定的方法启动相应的监控数据和日志收集工作。
自动化运维系统将下发部署任务至tomcat服务器(运行自动化运维代理程序)上,tomcat服务器根据tomcat配置模板检测并进行依赖环境的安装部署,再根据之前部署任务XML配置信息中生成的部署包地址,下载部署包,解压缩。根据部署任务XML配置信息配置管理节点信息和mysql数据库的连接信息对配置文件进行替换,再根据tomcat配置模板启动tomcat服务,运行检测服务启动成功的方法,成功运行后,将根据监控配置信息指定的方法启动相应的监控数据和日志收集工作,返回给自动化运维系统。
基于同样的发明构思,本申请还提出一种系统部署装置。参见图3,图3为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:接收单元301、部署单元302、启动单元303和反馈单元304;
接收单元301,用于接收部署消息;
部署单元302,用于当接收单元301接收到自动化运维系统下发的部署消息时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点,并将未部署节点对应的依赖环境进行部署,直到所有节点安装并正确配置;根据部署任务XML配置信息中的部署包存储地址,下载部署包,并使用部署任务XML配置信息中的配置管理节点信息修改部署包中的配置文件;
启动单元303,用于运行部署单元302修改了配置文件的部署包,执行部署系统的启动;
反馈单元304,用于在启动单元303启动部署系统后,通过部署任务XML配置信息中的日志路径,反馈启动日志信息给自动化运维系统;执行部署任务XML配置信息中的检测系统是否部署成功的方法,并将检测结果返回给自动化运维系统。
较佳地,
部署单元302,进一步用于通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点之前,通过所述部署任务XML配置信息确定部署任务是否需要独占访问服务器;当确定该部署任务需要独占访问服务器时,若该部署服务器已加锁,则进入等队列中,直到轮询到该部署任务;若该部署服务器未加锁,则进行加锁后,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;当确定该部署任务不需要独占访问服务器时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;反馈单元304将检测结果返回给自动化运维系统之后,若确定所述部署服务器已加锁,则进行解锁。
较佳地,
部署单元302,进一步用于修改部署包中的配置文件之后,若确定部署任务XML配置信息中存在启动前的运维部署信息的部署安装,则获得启动前的运维部署信息,并将未安装的启动前的运维部署信息进行安装并正确配置。
较佳地,
所述部署包为编译服务器根据自动化运维系统下发的编译消息中的编译打包任务XML配置信息进行编译处理打包生成的。
较佳地,
反馈单元304,进一步用于在任务部署过程中,根据对应XML配置信息中的正确和错误提示信息,向自动化运维系统反馈处理结果。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
基于同样的发明构思,本申请还提出一种系统部署电子设备。参见图4,图4为本申请实施例中电子设备的硬件结构示意图。
图4中所示的电子设备包括至少一个中央处理器401、存储器402。所述存储器402和所述至少一个中央处理器401通过总线连接,所述存储器402用于存储计算机指令,当所述电子设备运行时,所述至少一个中央处理器401执行所述存储器402存储的计算机指令,使得所述电子设备执行如图1所示的方法流程。
基于同样的发明构思,本申请还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory RAM)等。
综上所述,本申请通过自动化运维系统基于XML配置信息将各种运维信息和依赖信息配置在一起,下发部署消息给对应服务器,使服务器根据部署任务XML配置信息进行灵活的系统部署。该方案只需配置XML信息和执行脚本,不受语言,以及系统开发框架的限制,能够提高系统部署效率,且节省部署资源。
本申请实施例中利用服务器端自动化运维Agent程序获得消息总线中的部署任务,运行自动化部署任务;利用服务器端自动化运维Agent代理程序读取自动化运维XML信息实现自动化运维配置;支持依赖环境的检测、配置和安装信息;实现配置信息的嵌套与递归运维;因此,能够自由灵活的扩展自动化运维功能;可以做到更好的服务器操作隔离,减少运维风险。
服务器端自动化运维Agent程序拥有自动生成配置变量的功能,可以实现不同运维命令间的解耦,同时还可以现实运维任务配置时的环境无关性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (15)

1.一种系统部署方法,其特征在于,该方法包括:
部署服务器接收到自动化运维系统下发的部署消息时,通过解析部署消息中的部署任务可扩展标记语言XML配置信息,获得部署任务需要的依赖环境信息的所有节点,并将未部署节点对应的依赖环境进行部署,直到所有节点安装并正确配置;
根据部署任务XML配置信息中的部署包存储地址,下载部署包,并使用部署任务XML配置信息中的配置管理节点信息修改部署包中的配置文件;
运行修改了配置文件的部署包,执行部署系统的启动;
在部署系统启动后,通过部署任务XML配置信息中的日志路径,反馈启动日志信息给自动化运维系统;
执行部署任务XML配置信息中的检测系统是否部署成功的方法,并将检测结果返回给自动化运维系统。
2.根据权利要求1所述的方法,其特征在于,所述接收到自动化运维系统下发的部署消息时,所述通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点之前,所述方法进一步包括:
通过所述部署任务XML配置信息确定部署任务是否需要独占访问服务器;
当确定该部署任务需要独占访问服务器时,若该部署服务器已加锁,则进入等队列中,直到轮询到该部署任务;若该部署服务器未加锁,则进行加锁后,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;
当确定该部署任务不需要独占访问服务器时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;
所述将检测结果返回给自动化运维系统之后,所述方法进一步包括:
若确定所述部署服务器已加锁,则进行解锁。
3.根据权利要求1所述的方法,其特征在于,所述修改部署包中的配置文件之后,所述执行部署系统的启动之前,所述方法进一步包括:
若确定部署任务XML配置信息中存在启动前的运维部署信息的部署安装,则获得启动前的运维部署信息,并将未安装的启动前的运维部署信息进行安装并正确配置。
4.根据权利要求1所述的方法,其特征在于,
所述部署包为编译服务器根据自动化运维系统下发的编译消息中的编译打包任务XML配置信息进行编译处理打包生成的。
5.根据权利要求4所述的方法,其特征在于,
所述部署包为编译服务器根据自动化运维系统下发的编译消息中的编译打包任务XML配置信息进行编译处理打包生成的,包括:
编译服务器接收到运维系统下发的编译消息时,通过该编译消息中的编译打包任务XML配置信息,获得编译打包任务需要的依赖环境信息的所有节点,并将未部署的节点对应的依赖环境进行部署,直到所有节点安装并正确配置;
若存在编译前自动化运维配置信息,则获得编译打包任务需要的依赖环境信息的所有节点,并将未部署的节点对应的依赖环境进行部署,直到所有节点安装并正确配置;
解析编译打包任务XML配置信息,获得源代码信息节点,下载对应的源代码,并进行编译打包;
若存在编译完成后的自动化运维配置信息,则获得编译打包任务需要的依赖环境信息的所有节点,并将未部署的相关依赖环境进行部署,直到所有节点安装并正确配置;
将部署包存储。
6.根据权利要求5所述的方法,其特征在于,所述将部署包存储之后,所述方法进一步包括:
生成部署包存储地址,并反馈给自动化运维系统。
7.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
在任务部署和编译过程中,根据对应XML配置信息中的正确和错误提示信息,向自动化运维系统反馈处理结果。
8.根据权利要求5-7任意一项所述的方法,其特征在于,
编译打包任务XML配置信息包括:自定义XML配置信息和XML模板配置信息;其中,该XML模板配置信息为基础编译信息;
部署任务XML配置信息包括:自定义XML配置信息和XML模板配置信息,其中,该XML模板配置信息为基础编译部署。
9.一种系统部署装置,其特征在于,该装置包括:接收单元、部署单元、启动单元和反馈单元;
接收单元,用于接收部署消息;
所述部署单元,用于当所述接收单元接收到自动化运维系统下发的部署消息时,通过解析部署消息中的部署任务可扩展标记语言XML配置信息,获得部署任务需要的依赖环境信息的所有节点,并将未部署节点对应的依赖环境进行部署,直到所有节点安装并正确配置;根据部署任务XML配置信息中的部署包存储地址,下载部署包,并使用部署任务XML配置信息中的配置管理节点信息修改部署包中的配置文件;
所述启动单元,用于运行所述部署单元修改了配置文件的部署包,执行部署系统的启动;
所述反馈单元,用于在所述启动单元启动部署系统后,通过部署任务XML配置信息中的日志路径,反馈启动日志信息给自动化运维系统;执行部署任务XML配置信息中的检测系统是否部署成功的方法,并将检测结果返回给自动化运维系统。
10.根据权利要求9所述的装置,其特征在于,
所述部署单元,进一步用于通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点之前,通过所述部署任务XML配置信息确定部署任务是否需要独占访问服务器;当确定该部署任务需要独占访问服务器时,若该部署服务器已加锁,则进入等队列中,直到轮询到该部署任务;若该部署服务器未加锁,则进行加锁后,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;当确定该部署任务不需要独占访问服务器时,通过解析部署消息中的部署任务XML配置信息,获得部署任务需要的依赖环境信息的所有节点;所述反馈单元将检测结果返回给自动化运维系统之后,若确定所述部署服务器已加锁,则进行解锁。
11.根据权利要求9所述的装置,其特征在于,
所述部署单元,进一步用于修改部署包中的配置文件之后,若确定部署任务XML配置信息中存在启动前的运维部署信息的部署安装,则获得启动前的运维部署信息,并将未安装的启动前的运维部署信息进行安装并正确配置。
12.根据权利要求9所述的装置,其特征在于,
所述部署包为编译服务器根据自动化运维系统下发的编译消息中的编译打包任务XML配置信息进行编译处理打包生成的。
13.根据权利要求9-12任意一项所述的装置,其特征在于,
所述反馈单元,进一步用于在任务部署过程中,根据对应XML配置信息中的正确和错误提示信息,向自动化运维系统反馈处理结果。
14.一种电子设备,包括:
至少一个中央处理器;以及,
与所述至少一个中央处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个中央处理器执行的指令,所述指令被所述至少一个中央处理器执行,以使所述至少一个中央处理器能够执行权利要求1-8中任一项所述的方法。
15.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
CN201710067596.0A 2017-02-07 2017-02-07 一种系统部署方法、装置、电子设备和存储介质 Active CN108399083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710067596.0A CN108399083B (zh) 2017-02-07 2017-02-07 一种系统部署方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710067596.0A CN108399083B (zh) 2017-02-07 2017-02-07 一种系统部署方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN108399083A true CN108399083A (zh) 2018-08-14
CN108399083B CN108399083B (zh) 2021-04-30

Family

ID=63093703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710067596.0A Active CN108399083B (zh) 2017-02-07 2017-02-07 一种系统部署方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN108399083B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298868A (zh) * 2018-08-22 2019-02-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 测绘影像数据处理软件智能动态部署及卸载方法
CN109343858A (zh) * 2018-11-01 2019-02-15 成都嗨翻屋科技有限公司 一种基于服务端渲染的自动建站容器部署系统及其工作方法
CN109460225A (zh) * 2018-10-29 2019-03-12 全球能源互联网研究院有限公司 一种多cpu架构的可视化编译调试系统及方法
CN109542462A (zh) * 2018-10-17 2019-03-29 平安科技(深圳)有限公司 一种系统环境部署方法、存储介质和服务器
CN109814854A (zh) * 2019-01-24 2019-05-28 平安科技(深圳)有限公司 项目框架生成方法、装置、计算机设备和存储介质
CN110196731A (zh) * 2018-10-29 2019-09-03 腾讯科技(深圳)有限公司 一种运维系统、方法及存储介质
CN110875900A (zh) * 2018-08-31 2020-03-10 重庆小雨点小额贷款有限公司 企业安全管理方法、装置及安全管理服务器
CN111026411A (zh) * 2019-11-22 2020-04-17 武汉达梦数据技术有限公司 一种软件远程部署管理方法及管理机
CN111399861A (zh) * 2020-03-11 2020-07-10 中国建设银行股份有限公司 一种软件自动化部署方法及系统
CN111722886A (zh) * 2020-06-23 2020-09-29 平安医疗健康管理股份有限公司 工具启动方法、装置、计算机设备及计算机可读存储介质
CN112181436A (zh) * 2019-07-03 2021-01-05 深圳兆日科技股份有限公司 服务部署方法、装置、服务器和可读存储介质
CN112579145A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 应用部署方法及装置
CN113434146A (zh) * 2021-06-22 2021-09-24 青岛海尔科技有限公司 代码的编译方法、装置、存储介质及电子装置
CN113900677A (zh) * 2021-10-18 2022-01-07 盐城金堤科技有限公司 程序运行环境的部署方法、装置、设备及计算机存储介质
CN114564230A (zh) * 2022-02-23 2022-05-31 北京布局未来教育科技有限公司 鸿蒙系统的一键上传实现方法、装置、电子设备及介质
CN115361278A (zh) * 2022-08-02 2022-11-18 青岛海尔科技有限公司 云主机部署方法、装置及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547364A (zh) * 2003-12-04 2004-11-17 中国科学院计算技术研究所 一种实现网络客户端应用动态部署的方法
US20070244897A1 (en) * 2006-04-18 2007-10-18 David Voskuil Methods and systems for change management for a group policy environment
CN102521014A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 虚拟机的部署方法及装置
CN102566992A (zh) * 2010-12-17 2012-07-11 卓望数码技术(深圳)有限公司 一种基于系统运行的依赖注入方法及装置
CN102736946A (zh) * 2011-04-11 2012-10-17 阿里巴巴集团控股有限公司 一种应用节点的批量部署方法及装置
CN103078952A (zh) * 2013-01-25 2013-05-01 浪潮电子信息产业股份有限公司 一种云资源租户端云资源自动部署方法
CN103677842A (zh) * 2013-12-18 2014-03-26 工业和信息化部电子第五研究所 软件工具配置式集成扩展调用方法与系统
CN104679500A (zh) * 2013-12-03 2015-06-03 南京中兴力维软件有限公司 实体类自动生成实现方法及装置
CN105824674A (zh) * 2016-03-22 2016-08-03 乐视网信息技术(北京)股份有限公司 一种应用程序部署方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547364A (zh) * 2003-12-04 2004-11-17 中国科学院计算技术研究所 一种实现网络客户端应用动态部署的方法
US20070244897A1 (en) * 2006-04-18 2007-10-18 David Voskuil Methods and systems for change management for a group policy environment
CN102566992A (zh) * 2010-12-17 2012-07-11 卓望数码技术(深圳)有限公司 一种基于系统运行的依赖注入方法及装置
CN102736946A (zh) * 2011-04-11 2012-10-17 阿里巴巴集团控股有限公司 一种应用节点的批量部署方法及装置
CN102521014A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 虚拟机的部署方法及装置
CN103078952A (zh) * 2013-01-25 2013-05-01 浪潮电子信息产业股份有限公司 一种云资源租户端云资源自动部署方法
CN104679500A (zh) * 2013-12-03 2015-06-03 南京中兴力维软件有限公司 实体类自动生成实现方法及装置
CN103677842A (zh) * 2013-12-18 2014-03-26 工业和信息化部电子第五研究所 软件工具配置式集成扩展调用方法与系统
CN105824674A (zh) * 2016-03-22 2016-08-03 乐视网信息技术(北京)股份有限公司 一种应用程序部署方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伍文静 等: ""大规模集群系统的快速部署与动态配置"", 《计算机应用研究》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298868A (zh) * 2018-08-22 2019-02-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 测绘影像数据处理软件智能动态部署及卸载方法
CN109298868B (zh) * 2018-08-22 2024-01-09 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 测绘影像数据处理软件智能动态部署及卸载方法
CN110875900A (zh) * 2018-08-31 2020-03-10 重庆小雨点小额贷款有限公司 企业安全管理方法、装置及安全管理服务器
CN109542462A (zh) * 2018-10-17 2019-03-29 平安科技(深圳)有限公司 一种系统环境部署方法、存储介质和服务器
CN109460225A (zh) * 2018-10-29 2019-03-12 全球能源互联网研究院有限公司 一种多cpu架构的可视化编译调试系统及方法
CN110196731A (zh) * 2018-10-29 2019-09-03 腾讯科技(深圳)有限公司 一种运维系统、方法及存储介质
CN109460225B (zh) * 2018-10-29 2022-04-22 全球能源互联网研究院有限公司 一种多cpu架构的可视化编译调试系统及方法
CN109343858A (zh) * 2018-11-01 2019-02-15 成都嗨翻屋科技有限公司 一种基于服务端渲染的自动建站容器部署系统及其工作方法
CN109814854A (zh) * 2019-01-24 2019-05-28 平安科技(深圳)有限公司 项目框架生成方法、装置、计算机设备和存储介质
CN109814854B (zh) * 2019-01-24 2024-05-03 平安科技(深圳)有限公司 项目框架生成方法、装置、计算机设备和存储介质
CN112181436A (zh) * 2019-07-03 2021-01-05 深圳兆日科技股份有限公司 服务部署方法、装置、服务器和可读存储介质
CN112579145A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 应用部署方法及装置
CN111026411B (zh) * 2019-11-22 2023-09-08 武汉达梦数据技术有限公司 一种软件远程部署管理方法及管理机
CN111026411A (zh) * 2019-11-22 2020-04-17 武汉达梦数据技术有限公司 一种软件远程部署管理方法及管理机
CN111399861A (zh) * 2020-03-11 2020-07-10 中国建设银行股份有限公司 一种软件自动化部署方法及系统
CN111722886A (zh) * 2020-06-23 2020-09-29 平安医疗健康管理股份有限公司 工具启动方法、装置、计算机设备及计算机可读存储介质
CN113434146A (zh) * 2021-06-22 2021-09-24 青岛海尔科技有限公司 代码的编译方法、装置、存储介质及电子装置
CN113900677A (zh) * 2021-10-18 2022-01-07 盐城金堤科技有限公司 程序运行环境的部署方法、装置、设备及计算机存储介质
CN114564230A (zh) * 2022-02-23 2022-05-31 北京布局未来教育科技有限公司 鸿蒙系统的一键上传实现方法、装置、电子设备及介质
CN114564230B (zh) * 2022-02-23 2024-01-16 北京布局未来科技发展有限公司 鸿蒙系统的一键上传实现方法、装置、电子设备及介质
CN115361278A (zh) * 2022-08-02 2022-11-18 青岛海尔科技有限公司 云主机部署方法、装置及设备

Also Published As

Publication number Publication date
CN108399083B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN108399083A (zh) 一种系统部署方法、装置、电子设备和存储介质
US11372639B2 (en) System and method for automated microservice source code generation and deployment
US8321856B2 (en) Supplying software updates synchronously
US8918760B2 (en) Test script generation for application image validation
EP3502896A1 (en) Generation of an adapters configuration user interface
US7886035B2 (en) Profile service based deployment configuration
US11561784B2 (en) Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms
US11113050B2 (en) Application architecture generation
CN111399853A (zh) 机器学习模型与自定义算子的模板化部署方法
US20080301629A1 (en) Integrating aspect oriented programming into the application server
CN113986226A (zh) 一种基于qiankun和Web Component的微前端架构及其构建方法
US20160246582A1 (en) Generic Semantic Configuration Service
CN113434158B (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
CN110098952A (zh) 一种服务器的管理方法和装置
US11392366B1 (en) Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
US20200104120A1 (en) Application release using integration into unified code system
EP3447635A1 (en) Application architecture generation
CN109032620A (zh) 应用程序的配置文件生成方法和装置
US9009699B2 (en) Providing a POJO-based microcontainer for an application server
Yilmaz Extending the kubernetes api
CN113448793A (zh) 一种兼容多操作系统的系统监控方法及装置
CN113254040B (zh) 前端框架更新方法、装置、设备及存储介质
CN113886008A (zh) 一种虚拟机管理方法、系统、设备以及介质
Yilmaz Extending Kubernetes

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
GR01 Patent grant
GR01 Patent grant