CN113282307A - ansible服务端对软件进行批量安装的方法、服务端及系统 - Google Patents
ansible服务端对软件进行批量安装的方法、服务端及系统 Download PDFInfo
- Publication number
- CN113282307A CN113282307A CN202110650531.5A CN202110650531A CN113282307A CN 113282307 A CN113282307 A CN 113282307A CN 202110650531 A CN202110650531 A CN 202110650531A CN 113282307 A CN113282307 A CN 113282307A
- Authority
- CN
- China
- Prior art keywords
- installation
- software
- target client
- server
- ansable
- 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
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
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
本发明公开一种ansible服务端对软件进行批量安装的方法、存储介质、服务端及系统,该方法为:接收配置文件,该配置文件包含多个目标客户端信息、待安装软件信息、安装账号信息和配置参数;通过上述安装账号信息登陆各个目标客户端,检测其安装环境是否符合待安装软件的安装要求;若检测到存在符合安装要求的目标客户端,则根据配置参数生成待安装软件的安装脚本;获得待安装软件的安装包并发送给符合安装要求的目标客户端;令ansible工具执行上述安装脚本,从而用符合安装要求的目标客户端所接收到的安装包为该目标客户端安装待安装软件。该方法无需安装人员编写安装脚本即可实现自动化批量安装软件,并且不会导致生成的安装脚本无用武之地。
Description
技术领域
本发明涉及软件自动化安装技术领域,尤其涉及ansible服务端对软件进行批量安装的方法、服务端及系统。
背景技术
随着信息化水平不断提升和企业IT设施体量不断增大,IT运维工作量也随之增大。Ansible是新出现的一种自动化运维工具,基于Python开发,实现了批量系统配置、批量软件安装、批量运行命令等功能。若要批量为已通信连接ansible服务端的多个客户端安装软件,则安装人员可以根据ansible的命令来编写安装脚本,并上传到ansible服务端,由ansible服务端执行安装脚本从而为多个客户端安装目标软件。若全部客户端都不满足待安装软件的安装环境,则会安装失败,这样一来,安装人员编写好的脚本派不上用场,浪费了所花费的时间和精力。
发明内容
本发明所要解决的技术问题是提供一种ansible服务端对软件批量安装的方法,存储有被执行时实现上述方法的计算机程序的计算机可读存储介质,包括该存储介质的ansible服务端以及包括该服务端的运维系统,该方法无需安装人员编写安装脚本即可实现自动化批量安装软件,并且不会导致生成的安装脚本无用武之地。
为了解决上述技术问题,本发明的ansible服务端对软件进行批量安装的方法,包括以下步骤:
接收步骤:接收配置文件,该配置文件包含多个目标客户端信息、待安装软件信息、安装账号信息和配置参数;
检测步骤:通过上述安装账号信息登陆各个目标客户端,检测各个目标客户端的安装环境是否符合待安装软件的安装要求;
生成步骤:若检测到存在安装环境符合待安装软件安装要求的目标客户端,则根据所述配置文件中的配置参数,对预存的安装脚本模板进行参数填充,生成待安装软件的安装脚本;
获得步骤:获得待安装软件的安装包;
发送步骤:把待安装软件的安装包发送给符合所述安装要求的目标客户端;
安装步骤:令ansible工具执行上述安装脚本,从而用符合所述安装要求的目标客户端所接收到的安装包为该目标客户端安装所述待安装软件。
可选地,所述检测步骤中,还检测目标客户端的操作系统类型;所述获得步骤具体地,根据符合所述安装要求的目标客户端的操作系统类型,下载待安装软件的对应版本的安装包。
可选地,所述发送步骤中,具体是通过P2P技术把待安装软件的安装包发送给符合所述安装要求的目标客户端。
可选地,包括在安装步骤之后执行的监测步骤:监测安装所述待安装软件的目标客户端的安装情况,根据上述安装情况确定本次批量安装的安装进度。
可选地,若接收到暂停安装指令,则根据安装所述待安装软件的目标客户端的安装情况,暂停尚未启动安装的目标客户端的安装任务。
可选地,所述安装账号信息包含多个安装账号,各个安装账号一一对应各个目标客户端。
可选地,包括在安装步骤之后的分析步骤:通过ansible工具采集安装所述待安装软件的目标客户端的安装日志,根据安装日志确定安装结果,若安装失败则根据安装日志确定安装失败原因并查询解决方案数据库是否存有该安装失败原因对应的解决方案,
若存有解决方案,则执行上述解决方案以重新为安装失败的目标客户端安装所述待安装软件,且/或,若没存有解决方案,则使安装失败的目标客户端进行回滚以使目标客户端恢复至安装之前的状态。
一种计算机可读存储介质,其上存储有可执行计算机程序,所述计算机程序被执行时实现如上所述的ansible服务端对软件进行批量安装的方法。
一种ansible服务端,包括处理器和计算机可读存储介质,该计算机可读存储介质存储有可执行计算机程序,所述计算机可读存储介质是如上所述的计算机可读存储介质。
多客户端运维系统,包括ansible服务端以及连接该服务端的多个客户端,所述ansible服务端是如上所述的ansible服务端。
通过上述方法,安装人员只需填写配置文件并上传给ansible服务端,ansible服务端即可自行生成安装脚本,降低了对安装人员的技术要求。由于上述方法是在检测出存在安装环境符合待安装软件安装要求的目标客户端之后才生成安装脚本,ansible服务端能够使用该安装脚本为目标客户端安装待安装软件,不会导致生成的安装脚本无用武之地。
具体实施方式
以下结合具体实施方式对本发明创造作进一步详细说明。
多虚拟机运维系统包括ansible服务端以及作为客户端的多个虚拟机,ansible服务端连接多个虚拟机。该ansible服务端包括处理器和计算机可读存储介质,该计算机可读存储介质存储有可执行计算机程序,处理器执行该计算机程序从而实现ansible服务端对软件进行批量安装的方法。下面通过具体实例来说明该方法的流程:
运维人员需要在多个虚拟机上安装A软件,则从ansible服务端上下载配置文件模板,往配置文件模板中填入需要安装A软件的多个目标虚拟机的信息、待安装的A软件的信息、配置参数以及与上述多个目标虚拟机分别对应的多个安装账号,从而形成完整的配置文件,然后把配置文件上传到ansible服务端。
ansible服务端接收到配置文件之后,分别使用各个安装账号登陆各个目标虚拟机,检测各个目标虚拟机的安装环境是否符合A软件的安装要求,并且检测各个目标虚拟机的操作系统类型(非优选地,若各个目标虚拟机的系统配置是一样的话,则可以改为只往配置文件模板中填入一个安装账号,ansible服务端用同一个安装账号登陆各个目标虚拟机)。假设检测到第1~5号虚拟机安装环境符合A软件安装要求,ansible服务端就根据配置文件中的配置参数,对预存的安装脚本模板进行参数填充,生成A软件的安装脚本,并分别根据第1~5号虚拟机的操作系统类型,通过互联网下载A软件的对应版本的安装包,分别称为1、2、3、4、5号安装包。在下载好安装包之后,ansible服务端通过P2P技术把对应版本的安装包发送给第1~5号虚拟机。1号虚拟机接收到对应版本的1号安装包之后,ansible服务端令ansible工具执行A软件的安装脚本,就会用1号安装包为1号虚拟机安装A软件;2号虚拟机接收到对应版本的2号安装包之后,ansible服务端令ansible工具执行A软件的安装脚本,就会用2号安装包为2号虚拟机安装A软件;以此类推,为第3~5号虚拟机安装A软件。
非优选地,安装包可改为由运维人员在上传配置文件时一同上传到ansible服务端,运维人员需要把各个操作系统对应版本的安装包都上传到ansible服务端。
在安装A软件的过程中,ansible服务端通过ansible工具采集安装A软件的1~5号虚拟机的安装日志,并解析安装日志,从而确定1~5号虚拟机的安装情况,进而根据1~5号虚拟机的安装情况实时跟踪本次批量安装A软件的安装进度。非优选地,可以改为采用以下方式来确定目标虚拟机的安装情况:ansible服务端预先获取ansible工具本次批量为各个目标虚拟机安装A软件的安装任务,通过ansible工具采集安装A软件的目标虚拟机的安装日志并予以解析从而确定对应的安装任务的完成情况,根据每个目标客户端的安装任务的完成情况来确定此目标客户端的安装情况,进而确定本次批量安装的安装进度。在安装过程中,运维人员可以向ansible服务端输入暂停安装指令以暂停本次批量安装,ansible服务端接收到暂停安装指令之后,则先确定上述1~5号虚拟机的安装情况,假设1号虚拟机已经安装完成,2号虚拟机正在安装中,3~5号虚拟机尚未启动安装,据此,等2号虚拟机安装好A软件后,暂停3~5号虚拟机的安装任务。若接收到继续安装的指令时,ansible服务端再启动3~5号虚拟机的安装任务,使3~5号虚拟机安装A软件。
ansible服务端收集常见的安装失败原因的安装日志,然后使用多组以安装日志内容为输入信号,以安装失败原因为输出信号的学习样本,对人工神经网络进行训练,使其具备根据安装日志内容识别出安装失败原因的能力。运维人员预先把常见的安装失败原因的解决方案上传到Ansible服务端的解决方案数据库中。下面列举了三个常见的安装失败原因及其解决方案:
序号 | 安装失败原因 | 解决方案 |
1 | 网络不稳定 | 重连 |
2 | 文件不存在或者损坏 | 从网络上重新下载安装包 |
3 | 缺失安装所依赖的软件包 | 根据日志信息,从网上自动下载缺失的依赖软件包 |
ansible服务端采集到安装A软件的各个目标虚拟机的安装日志之后,根据各个目标虚拟机的安装日志确定其安装结果。若某个目标虚拟机安装失败了,ansible服务端则可通过已训练好的人工神经网络来对安装日志进行识别,从而识别出该目标虚拟机安装失败的原因,并查询预设的解决方案数据库中是否存有该安装失败原因对应的解决方案,若存有解决方案,则执行上述解决方案以重新为安装失败的目标虚拟机安装A软件,若没存有解决方案,则使安装失败的目标客户端进行回滚,删除软件安装过程涉及到的目录、临时文件和配置选项,使目标客户端恢复至安装之前的状态。
如上所述仅为本发明创造的实施方式,不以此限定专利保护范围。本领域技术人员在本发明创造的基础上作出非实质性的变化或替换,仍落入专利保护范围。
Claims (10)
1.ansible服务端对软件进行批量安装的方法,其特征是包括以下步骤:
接收步骤:接收配置文件,该配置文件包含多个目标客户端信息、待安装软件信息、安装账号信息和配置参数;
检测步骤:通过上述安装账号信息登陆各个目标客户端,检测各个目标客户端的安装环境是否符合待安装软件的安装要求;
生成步骤:若检测到存在安装环境符合待安装软件安装要求的目标客户端,则根据所述配置文件中的配置参数,对预存的安装脚本模板进行参数填充,生成待安装软件的安装脚本;
获得步骤:获得待安装软件的安装包;
发送步骤:把待安装软件的安装包发送给符合所述安装要求的目标客户端;
安装步骤:令ansible工具执行上述安装脚本,从而用符合所述安装要求的目标客户端所接收到的安装包为该目标客户端安装所述待安装软件。
2.如权利要求1所述的ansible服务端对软件进行批量安装的方法,其特征是:所述检测步骤中,还检测目标客户端的操作系统类型;所述获得步骤具体地,根据符合所述安装要求的目标客户端的操作系统类型,下载待安装软件的对应版本的安装包。
3.如权利要求1所述的ansible服务端对软件进行批量安装的方法,其特征是:所述发送步骤中,具体是通过P2P技术把待安装软件的安装包发送给符合所述安装要求的目标客户端。
4.如权利要求1所述的ansible服务端对软件进行批量安装的方法,其特征是包括在安装步骤之后执行的监测步骤:监测安装所述待安装软件的目标客户端的安装情况,根据上述安装情况确定本次批量安装的安装进度。
5.如权利要求4所述的ansible服务端对软件进行批量安装的方法,其特征是:若接收到暂停安装指令,则根据安装所述待安装软件的目标客户端的安装情况,暂停尚未启动安装的目标客户端的安装任务。
6.如权利要求1所述的ansible服务端对软件进行批量安装的方法,其特征是:所述安装账号信息包含多个安装账号,各个安装账号一一对应各个目标客户端。
7.如权利要求1所述的ansible服务端对软件进行批量安装的方法,其特征是包括在安装步骤之后的分析步骤:通过ansible工具采集安装所述待安装软件的目标客户端的安装日志,根据安装日志确定安装结果,若安装失败,则根据安装日志确定安装失败原因并查询解决方案数据库是否存有该安装失败原因对应的解决方案,
若存有解决方案,则执行上述解决方案以重新为安装失败的目标客户端安装所述待安装软件,且/或,若没存有解决方案,则使安装失败的目标客户端进行回滚以使目标客户端恢复至安装之前的状态。
8.一种计算机可读存储介质,其上存储有可执行计算机程序,其特征是:所述计算机程序被执行时实现如权利要求1至7当中任一项所述的ansible服务端对软件进行批量安装的方法。
9.一种ansible服务端,包括处理器和计算机可读存储介质,该计算机可读存储介质存储有可执行计算机程序,其特征是:所述计算机可读存储介质是如权利要求8所述的计算机可读存储介质。
10.多客户端运维系统,包括ansible服务端以及连接该服务端的多个客户端,其特征是:所述ansible服务端是如权利要求9所述的ansible服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650531.5A CN113282307A (zh) | 2021-06-11 | 2021-06-11 | ansible服务端对软件进行批量安装的方法、服务端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650531.5A CN113282307A (zh) | 2021-06-11 | 2021-06-11 | ansible服务端对软件进行批量安装的方法、服务端及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113282307A true CN113282307A (zh) | 2021-08-20 |
Family
ID=77284352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110650531.5A Pending CN113282307A (zh) | 2021-06-11 | 2021-06-11 | ansible服务端对软件进行批量安装的方法、服务端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282307A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434127A (zh) * | 2021-08-30 | 2021-09-24 | 云宏信息科技股份有限公司 | 脚本生成方法、安装软件的方法、存储介质和系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7954098B1 (en) * | 2005-03-30 | 2011-05-31 | Emc Corporation | System and methods for SAN agent installation |
US8978012B1 (en) * | 2008-03-28 | 2015-03-10 | Symantec Operating Corporation | Method and system for error reporting and correction in transaction-based applications |
US9058230B1 (en) * | 2008-05-27 | 2015-06-16 | Symantec Operating Corporation | Online expert system guided application installation |
CN105068881A (zh) * | 2015-08-19 | 2015-11-18 | 北京奇虎科技有限公司 | 一种修复应用程序运行异常的方法、装置和系统 |
CN105095006A (zh) * | 2015-07-21 | 2015-11-25 | 北京金山安全软件有限公司 | 一种软件安装失败的修复方法及装置 |
CN106406956A (zh) * | 2016-09-23 | 2017-02-15 | 北京小米移动软件有限公司 | 应用程序的安装方法及装置 |
CN109542470A (zh) * | 2018-11-26 | 2019-03-29 | 成都四方伟业软件股份有限公司 | 配置、安装方法及配置装置 |
CN110750273A (zh) * | 2019-10-14 | 2020-02-04 | 交控科技股份有限公司 | 云平台自动部署方法及系统 |
CN110955457A (zh) * | 2019-10-11 | 2020-04-03 | 广西电网有限责任公司信息中心 | 一种操作系统批量自动化运维管理方法 |
US10917520B1 (en) * | 2019-07-01 | 2021-02-09 | Intuit Inc. | Automated self-service callback for proactive and dynamic user assistance |
CN112527335A (zh) * | 2020-12-21 | 2021-03-19 | 恩亿科(北京)数据科技有限公司 | 自动化处理npm依赖包安装的方法、系统和计算机设备 |
CN112579108A (zh) * | 2020-12-28 | 2021-03-30 | 上海欣方智能系统有限公司 | 自动化部署方法和装置 |
-
2021
- 2021-06-11 CN CN202110650531.5A patent/CN113282307A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7954098B1 (en) * | 2005-03-30 | 2011-05-31 | Emc Corporation | System and methods for SAN agent installation |
US8978012B1 (en) * | 2008-03-28 | 2015-03-10 | Symantec Operating Corporation | Method and system for error reporting and correction in transaction-based applications |
US9058230B1 (en) * | 2008-05-27 | 2015-06-16 | Symantec Operating Corporation | Online expert system guided application installation |
CN105095006A (zh) * | 2015-07-21 | 2015-11-25 | 北京金山安全软件有限公司 | 一种软件安装失败的修复方法及装置 |
CN105068881A (zh) * | 2015-08-19 | 2015-11-18 | 北京奇虎科技有限公司 | 一种修复应用程序运行异常的方法、装置和系统 |
CN106406956A (zh) * | 2016-09-23 | 2017-02-15 | 北京小米移动软件有限公司 | 应用程序的安装方法及装置 |
CN109542470A (zh) * | 2018-11-26 | 2019-03-29 | 成都四方伟业软件股份有限公司 | 配置、安装方法及配置装置 |
US10917520B1 (en) * | 2019-07-01 | 2021-02-09 | Intuit Inc. | Automated self-service callback for proactive and dynamic user assistance |
CN110955457A (zh) * | 2019-10-11 | 2020-04-03 | 广西电网有限责任公司信息中心 | 一种操作系统批量自动化运维管理方法 |
CN110750273A (zh) * | 2019-10-14 | 2020-02-04 | 交控科技股份有限公司 | 云平台自动部署方法及系统 |
CN112527335A (zh) * | 2020-12-21 | 2021-03-19 | 恩亿科(北京)数据科技有限公司 | 自动化处理npm依赖包安装的方法、系统和计算机设备 |
CN112579108A (zh) * | 2020-12-28 | 2021-03-30 | 上海欣方智能系统有限公司 | 自动化部署方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434127A (zh) * | 2021-08-30 | 2021-09-24 | 云宏信息科技股份有限公司 | 脚本生成方法、安装软件的方法、存储介质和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103248651B (zh) | 一种性能监控的方法和系统以及客户端和服务器 | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
US20020147974A1 (en) | Networked installation system for deploying systems management platforms | |
WO2010059538A4 (en) | System and method for coordinating resolution tasks executed on a mobile device and server | |
CN107294785B (zh) | Cdn节点服务的自动部署方法及装置、计算机可读存储介质 | |
CN101442688A (zh) | 智能网平台的升级方法和系统、控制器和智能网平台设备 | |
CN112104501A (zh) | 一种农机深松物联网终端设备的软件远程升级的方法 | |
AU2018236724A1 (en) | Method and system for improving operational efficiency of a target system | |
CN113282307A (zh) | ansible服务端对软件进行批量安装的方法、服务端及系统 | |
CN110908674A (zh) | 应用程序的自动化部署方法及装置 | |
CN111597014A (zh) | 免二次镜像的容器化JavaEE应用服务器的发布方法 | |
CN110795105A (zh) | 一种配电自动化主站系统自动编译部署方法与系统 | |
CN111399862A (zh) | Windows缺失驱动的批量安装方法、装置和计算机设备 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN115202680A (zh) | 在线远程自动升级本地客户端的系统及方法 | |
CN109426514B (zh) | 服务自动化部署方法、装置、电子设备及存储介质 | |
CN109284204B (zh) | 一种基于虚拟化计算的大数据平台运维方法以及系统 | |
CN104158906A (zh) | 一种服务器代理操控系统及操控方法 | |
CN113242147B (zh) | 多云环境的自动化运维部署方法、装置、设备和存储介质 | |
CN113448609B (zh) | 一种容器的升级方法、装置、设备和存储介质 | |
CN114090050A (zh) | 机器人软件远程自动更新方法、系统及相关产品 | |
CN110618884A (zh) | 故障监控方法、虚拟化的网络功能模块管理器和存储介质 | |
CN101420322B (zh) | 网络设备的升级方法、装置及系统 | |
CN110874430B (zh) | 网络爬虫调度方法、装置及设备 | |
CN113031977A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |
|
RJ01 | Rejection of invention patent application after publication |