CN108268263A - 一种对异构系统部署应用软件的方法 - Google Patents
一种对异构系统部署应用软件的方法 Download PDFInfo
- Publication number
- CN108268263A CN108268263A CN201711447315.0A CN201711447315A CN108268263A CN 108268263 A CN108268263 A CN 108268263A CN 201711447315 A CN201711447315 A CN 201711447315A CN 108268263 A CN108268263 A CN 108268263A
- Authority
- CN
- China
- Prior art keywords
- software
- application software
- installation
- heterogeneous system
- application
- 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
本发明公开了一种对异构系统部署应用软件的方法,包括:利用fabric工具登录多个服务器,多个服务器均开启了SSH服务;上传应用软件的安装包至多个服务器;利用fabric工具在多个服务器上执行安装命令,以在多个服务器上部署应用软件。本发明的上述技术方案,通过采用fabric工具完成异构系统的应用软件安装。在相同配置的多台服务器上可以多次构建,非常便捷。利用fabric工具批量自动化安装应用软件。可以全程无人值守全自动化批量安装应用软件。
Description
技术领域
本发明涉及计算机技术领域,具体来说,涉及一种对异构系统部署应用软件的方法。
背景技术
服务器上都需要运行应用软件,对于网络中只有少量的服务器我们可以采用手工的方式安装应用程序,而对于网络中有成千上万台服务器需要安装应用软件时,没有批量部署工具逐台安装应用软件那工作量之大可想而知。
如何高效、快捷、简便的批量化、自动化安装成千上万台服务器的应用软件,就目前来说有三种方法:
对于同一的操作系统安装相同的应用软件的服务器,可以采用系统克隆的技术,如: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表示所有任务都是在同一时间并发执行的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种对异构系统部署应用软件的方法,其特征在于,包括:
利用fabric工具登录多个服务器,所述多个服务器均开启了SSH服务;
上传应用软件的安装包至所述多个服务器;
利用fabric工具在所述多个服务器上执行安装命令,以在所述多个服务器上部署应用软件。
2.根据权利要求1所述的对异构系统部署应用软件的方法,其特征在于,在所述多个服务器上部署的所述应用软件为相同的软件或不相同的软件。
3.根据权利要求1所述的对异构系统部署应用软件的方法,其特征在于,利用fabric工具在所述多个服务器上执行安装命令包括:依次在对所述多个服务器上执行安装命令并安装所述应用软件。
4.根据权利要求1所述的对异构系统部署应用软件的方法,其特征在于,利用fabric工具在所述多个服务器上执行安装命令包括:同时在所述多个服务器上执行安装命令并安装所述应用软件。
5.根据权利要求1所述的对异构系统部署应用软件的方法,其特征在于,在上传应用软件的安装包至所述多个服务器之前,还包括:
获取所述多个服务器的系统类型。
6.根据权利要求1所述的对异构系统部署应用软件的方法,其特征在于,所述应用软件的所述安装包是所述应用软件的源码压缩包、或者是RPM包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711447315.0A CN108268263A (zh) | 2017-12-27 | 2017-12-27 | 一种对异构系统部署应用软件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711447315.0A CN108268263A (zh) | 2017-12-27 | 2017-12-27 | 一种对异构系统部署应用软件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108268263A true CN108268263A (zh) | 2018-07-10 |
Family
ID=62772803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711447315.0A Pending CN108268263A (zh) | 2017-12-27 | 2017-12-27 | 一种对异构系统部署应用软件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268263A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227334A (zh) * | 2014-06-12 | 2016-01-06 | 杭州华三通信技术有限公司 | 一种Fabric网络拓扑发现方法和装置 |
WO2017007597A1 (en) * | 2015-07-06 | 2017-01-12 | Cisco Technology, Inc. | Provisioning storage devices in a data center |
CN107168753A (zh) * | 2017-06-21 | 2017-09-15 | 山东超越数控电子有限公司 | 一种基于中标麒麟系统远程部署lamp的实现方法 |
CN107436775A (zh) * | 2016-05-26 | 2017-12-05 | 中兴通讯股份有限公司 | 虚拟机上安装业务版本的方法及装置 |
-
2017
- 2017-12-27 CN CN201711447315.0A patent/CN108268263A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227334A (zh) * | 2014-06-12 | 2016-01-06 | 杭州华三通信技术有限公司 | 一种Fabric网络拓扑发现方法和装置 |
WO2017007597A1 (en) * | 2015-07-06 | 2017-01-12 | Cisco Technology, Inc. | Provisioning storage devices in a data center |
CN107436775A (zh) * | 2016-05-26 | 2017-12-05 | 中兴通讯股份有限公司 | 虚拟机上安装业务版本的方法及装置 |
CN107168753A (zh) * | 2017-06-21 | 2017-09-15 | 山东超越数控电子有限公司 | 一种基于中标麒麟系统远程部署lamp的实现方法 |
Non-Patent Citations (2)
Title |
---|
JYZHOU: "Fabric远程自动化使用说明", 《博客园:HTTPS://WWW.CNBLOGS.COM/ZHOUJINYI/P/6023839.HTML》 * |
LINUX: "使用Fabric部署网站应用", 《LINUX公社:HTTPS://WWW.LINUXIDC.COM/LINUX/2014-11/108820.HTM》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220066858A1 (en) | Remote debugging and management | |
CN104978263B (zh) | 一种移动端应用程序测试方法及系统 | |
CN109479067B (zh) | 用于物联网设备的网络架构 | |
CN111741134B (zh) | 一种网络靶场大规模场景中虚拟机快速构建系统与方法 | |
Hellbrück et al. | Using and operating wireless sensor network testbeds with WISEBED | |
CN105100021B (zh) | 一种设备管理会话的触发方法、设备及系统 | |
CN104679654A (zh) | 测试应用程序的方法、设备及系统 | |
CN103902358A (zh) | 移动终端的远程调试方法、系统及移动终端 | |
TW200504559A (en) | Configurable PLC and SCADA-based control system | |
CN105487965A (zh) | 一种通用的服务器压力测试方法及装置 | |
CN105450463A (zh) | 硬件设备的调试方法、装置和系统 | |
CN109495433A (zh) | 数据下载方法和装置、存储介质及电子装置 | |
RU2605918C2 (ru) | Способ предоставления функций в промышленной системе автоматизации и промышленная система автоматизации | |
CN105808278A (zh) | 一种客户端版本升级方法及装置 | |
CN107360237A (zh) | 一种多人协同工作的dcs图形化组态系统及方法 | |
CN105260842B (zh) | 异构erp系统之间的通信方法和系统 | |
CN109189400A (zh) | 程序发布方法及装置、存储介质、处理器 | |
CN102752770B (zh) | 一种对业务系统进行巡检的方法及装置 | |
CN104468288A (zh) | 终端网络数据测试方法及装置 | |
CN103533041A (zh) | 一种面向水下无人航行器的软件远程更新方法 | |
CN104486663A (zh) | 用手机切换android电视主题的方法及其实现装置 | |
CN104683473A (zh) | 监控服务质量的方法、服务端、客户端及系统 | |
CN106648721A (zh) | 一种软件升级方法及装置 | |
CN105245553A (zh) | 一种soa系统及业务处理方法 | |
JP5359835B2 (ja) | 情報処理装置、配布システム及び受信方法 |
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: 20180710 |
|
RJ01 | Rejection of invention patent application after publication |