一种对异构系统部署应用软件的方法与流程

文档序号:14910854发布日期:2018-07-10 23:22阅读:498来源:国知局

本发明涉及计算机技术领域,具体来说,涉及一种对异构系统部署应用软件的方法。



背景技术:

服务器上都需要运行应用软件,对于网络中只有少量的服务器我们可以采用手工的方式安装应用程序,而对于网络中有成千上万台服务器需要安装应用软件时,没有批量部署工具逐台安装应用软件那工作量之大可想而知。

如何高效、快捷、简便的批量化、自动化安装成千上万台服务器的应用软件,就目前来说有三种方法:

对于同一的操作系统安装相同的应用软件的服务器,可以采用系统克隆的技术,如:Ghost软件,partclone软件等对系统制作镜像,然后批量克隆镜像。但是,镜像克隆需要服务器的硬件和软件的配置保持一致,对于不同操作系统的应用软件安装克隆技术就不适合,如redhat,ubuntu,suse等不同的操作系统就不能用镜像克隆的方法来部署。

利用批量部署工具如:Puppet、Chef、SaltStack等自动化部署工具进行应用软件批量安装,但是这些批量部署工具都需要在安装应用软件的服务器上安装一个代理程序,工作量也比较大。但是,采用其它的批量部署工具,如Puppet、Chef、SaltStack等都需要在每台服务器上安装一个客户端软件,然后让客户端和服务端进行通讯来操作应用软件在每台服务器上的安装,前提是需要把客户端软件在每台服务器上安装好。

利用Docker把应用软件封装到镜像中,然后每台服务器下载该镜像,在容器中运行该镜像,可能不同的操作系统需要制作不同的镜像。但是,采用docker镜像来安装应用软件需要把应用软件安装到一个docker镜像中,然后每台服务器上安装docker软件,并通过docker软件把该镜像下载到服务器上,启动容器,应用软件是在容器里运行的,而对于需要控制硬件的应用软件可能效果不会很好。



技术实现要素:

针对相关技术中存在的问题,本发明提出一种对异构系统部署应用软件的方法,能够更加便捷的对异构系统部署应用软件。

本发明的技术方案是这样实现的:

根据本发明的一个方面,提供了一种对异构系统部署应用软件的方法,包括:利用fabric工具登录多个服务器,多个服务器均开启了SSH服务;上传应用软件的安装包至多个服务器;利用fabric工具在多个服务器上执行安装命令,以在多个服务器上部署应用软件。

根据本发明的实施例,在多个服务器上部署的应用软件为相同的软件或不相同的软件。

根据本发明的实施例,利用fabric工具在多个服务器上执行安装命令包括:依次在对多个服务器上执行安装命令并安装应用软件。

根据本发明的实施例,利用fabric工具在多个服务器上执行安装命令包括:同时在多个服务器上执行安装命令并安装应用软件。

根据本发明的实施例,在上传应用软件的安装包至多个服务器之前,还包括:获取多个服务器的系统类型。

根据本发明的实施例,应用软件的安装包是应用软件的源码压缩包、或者是RPM包。

本发明的上述技术方案,通过采用fabric工具完成异构系统的应用软件安装。在相同配置的多台服务器上可以多次构建,非常便捷。利用fabric工具批量自动化安装应用软件。可以全程无人值守全自动化批量安装应用软件。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的对异构系统部署应用软件的方法的流程图;

图2至图6是根据本发明不同实施例的对异构系统部署应用软件的方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

用fabric来批量部署应用软件只需要把fabric工具安装在一台管理节点上,其他节点只需要运行ssh服务就可以了,由于ssh服务是linux中默认带的服务并不需要额外安装,所以fabric能快速完成上线部署应用软件,减少人力及人力误操作风险。

fabric是一款由Python编写的命令行工具,提供以下功能:从本地环境向远程服务器上发送任意的shell命令;在多台服务器上同时执行相同的命令;

使用fabric有以下优点:远程服务器只需要准备SSH环境便可运行;在前期准备中,无需安装其他任何特殊工具。本发明提供了一种基于fabric工具的对异构系统部署应用软件的方法。

如图1所示,根据本发明实施例的对异构系统部署应用软件的方法,包括以下步骤:

步骤S102,利用fabric工具登录多个服务器,多个服务器均开启了SSH服务;

步骤S104,上传应用软件的安装包至多个服务器;

步骤S106,利用fabric工具在多个服务器上执行安装命令,以在多个服务器上部署应用软件。

本发明的上述技术方案,采用fabric工具只需要在一台机器上安装fabric工具,其他服务器开启ssh服务就可以,一般安装linux的服务器都会安装ssh服务并且默认开启。fabric支持正常的ssh操作,并不需要配置ssh的无密码登陆。fabric支持远程执行命令和上传下载文件等操作,对于应用软件在不同系统中的安装只需要加入逻辑判断区别对待就可以完成异构系统的应用软件安装。在相同配置的多台服务器上可以多次构建,非常便捷。利用fabric工具批量自动化安装应用软件。可以全程无人值守全自动化批量安装应用软件。

其中,在多个服务器上部署的应用软件可以是相同的软件,或者可以是不相同的软件。本发明的方法能够对不同的服务器系统安装同一应用软件,还能够对不同的服务器系统安装不同的应用软件。

在一个实施例中,步骤S106可具体包括:依次在对多个服务器上执行安装命令并安装应用软件。从而,利用fabric工具对异构系统的批量服务器串行自动安装应用软件。

在另一个实施例中,步骤S106可具体包括:同时在多个服务器上执行安装命令并安装应用软件。从而,利用fabric工具对异构系统的批量服务器并行自动安装应用软件,可以并行安装应用软件以减少安装时间。

在一个实施例中,在步骤S194之前还可以包括:获取多个服务器的系统类型。利用fabric工具对异构系统的批量服务器进行分类。

在一个实施例中,应用软件的安装包是应用软件的源码压缩包、或者是RPM包。

下面结合不同的实施例对本发明的对异构系统部署应用软件的方法进行说明。

实施例1:采用源码安装应用软件

如图2所示,对于单个服务器安装应用软件,可具体包括以下步骤:步骤S202,通过fabric工具上传源码压缩包到服务器;步骤S204,远程执行解压命令,解压源码压缩包,远程执行编译安装命令,等待安装完成。

实施例2:采用源码批量服务器串行安装应用软件

如图3所示,批量服务器串行安装应用软件,可具体包括以下步骤:步骤S302,取一台服务器的信息,用fabric工具连接到该服务器,上传源码压缩包到该服务器上;步骤S304,远程执行解压命令,解压源码压缩包,远程执行编译安装命令;步骤S306,等待安装完成;步骤S308,取下一台服务器的信息;步骤S310,如果取到服务器的信息则重复步骤S302,否则批量安装完成。

实施例3:采用源码批量服务器并行安装应用软件

如图4所示,批量服务器并行安装应用软件具体包括以下步骤:步骤S402,fabric工具连接到每台服务器;步骤S404,执行并行任务(上传源代码压缩包到服务器-->解压源代码包-->执行编译安装命令),等待所有服务器安装完成。

上述实施例1至实施例3为采用源码安装应用程序的实施例。

实施例4:采用RPM包批量服务器串行安装应用软件

如图5所示,采用RPM包批量服务器串行安装应用软件可具体包括以下步骤:步骤S502,取一台服务器的信息,fabric工具连接到该台服务器,远程获取服务器的系统类型;步骤S504,上传该系统类型对应的RPM包;步骤S506,远程执行rpm包安装命令;步骤S508,等待安装完成;步骤S510,取下一台服务器的信息;步骤S512,如果取到信息则重复步骤S502,否则批量安装完成。

实施例5:采用RPM包批量服务器并行安装应用软件

如图6所示,采用RPM包批量服务器并行安装应用软件具体包括以下步骤:步骤S502,通过fabric工具连接每台服务器,远程获取每台服务器的系统类型,对所有服务器根据系统类型分类;步骤S604,对系统1的服务器执行并行任务(上传系统1的rpm包到系统1的服务器上-->执行rpm包安装命令),对系统2的服务器执行并行任务(上传系统2的rpm包到系统2的服务器上-->执行rpm包安装命令),......对系统n的服务器执行并行任务(上传系统n的rpm包到系统n的服务器上-->执行rpm包安装命令);步骤S606,等待所有服务器安装完成。其中,步骤S604表示所有任务都是在同一时间并发执行的。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1