CN106325951A - 一种支持多数据库、多中间件类型的应用系统自动化部署方法 - Google Patents

一种支持多数据库、多中间件类型的应用系统自动化部署方法 Download PDF

Info

Publication number
CN106325951A
CN106325951A CN201610749383.1A CN201610749383A CN106325951A CN 106325951 A CN106325951 A CN 106325951A CN 201610749383 A CN201610749383 A CN 201610749383A CN 106325951 A CN106325951 A CN 106325951A
Authority
CN
China
Prior art keywords
middleware
database
installation
automatic deployment
user
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
CN201610749383.1A
Other languages
English (en)
Other versions
CN106325951B (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.)
Guangxi Power Grid Co Ltd
Original Assignee
Guangxi Power Grid 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 Guangxi Power Grid Co Ltd filed Critical Guangxi Power Grid Co Ltd
Priority to CN201610749383.1A priority Critical patent/CN106325951B/zh
Publication of CN106325951A publication Critical patent/CN106325951A/zh
Application granted granted Critical
Publication of CN106325951B publication Critical patent/CN106325951B/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种支持多数据库、多中间件类型的应用系统自动化部署方法,涉及数据库自动部署领域。本发明的自动化部署方法包括执行自动化脚本安装数据库、向所述数据库导入数据包、配置操作系统环境变量、安装中间件、应用程序发布、配置数据源、中间件启动、登陆验证等步骤。以自动化脚本代替人工操作,实现数据库、中间件的自动化部署,并自动根据数据库服务器的IP对应用程序的数据源进行配置,自动将应用程序发布至中间件中,实现应用程序的自动化部署,大大提升应用发布效率,杜绝人工误操作的风险。

Description

一种支持多数据库、多中间件类型的应用系统自动化部署 方法
技术领域
本发明涉及数据库部署技术领域,尤其涉及支持多数据库、多中间件类型的应用系统自动化部署方法。
背景技术
众所周知,应用系统的部署通常需要数据库环境和中间件环境,数据库为应用系统提供数据存储服务,中间件则为应用系统提供运行环境。因此,应用部署需要经历多个操作环节,包括:部署数据库、导入数据、设置环境变量、部署中间件、发布应用程序、设置数据源、启动应用。若通过人工操作进行应用部署,往往需要花费大量的时间,工作效率难以提升。
发明内容
本发明所要解决的技术问题在于提供一种涉及支持多数据库、多中间件类型的应用系统自动化部署方法,通过编写自动化脚本语言程序来执行所有的人工部署步骤,能够解决应用系统部署人工成本高、时间长、效率低的技术问题。
为解决上述技术问题,本发明采用如下技术方案:
本发明提供一种支持多数据库、多中间件类型的应用系统自动化部署方法,包括:
获取自动化安装脚本,执行自动化脚本安装数据库;此过程需根据用户需求明确待安装的数据库类型及版本,执行自动化脚本安装相应的数据库;
向所述数据库导入数据包;
配置操作系统环境变量;
安装中间件;此过程需根据用户需求明确待安装的中间件类型及版本,执行相应的中间件安装;
将应用程序包拷贝至对应的发布目录;
获取程序数据源配置文件及存放路径,打开该配置文件,并将所述数据库服务器IP注入程序数据源配置文件;更新数据库连接配置,完成数据源更新;此过程需根据用户需求明确程序数据源配置文件及存放路径;
将中间件服务端口更新至中间件配置文件,启动中间件服务;此过程中每个中间件都用自己的配置文件,该配置文件是中间件安装后自动生成的;此过程中也需要根据用户需求明确中间件服务端口。
优选的,获取数据库自动化安装脚本,执行自动化脚本安装数据库之前,还包括:明确数据库类型及版本、数据库用户名密码、数据包名称及存放路径、程序数据源配置文件及存放路径、中间件类型及版本、中间件管理用户名密码、中间件服务端口。此过程是为满足多种类型中间件、数据库的应用系统自动化部署需求,制定相应的约定规则、规范要求,具体是用户提供需求清单,清单中明确上述内容,这样才能将这些频发但模式固定的工作固化成通用的工作流,以自动化脚本代替人工操作,实现数据库、中间件的自动化部署。
优选的,在启动中间件服务后还包括打开浏览器,输入应用系统访问地址,验证应用系统是否部署成功。
进一步的,安装中间件之前,还包括:判断该中间件是否需要安装依赖组件,如需安装,则安装对应的依赖组件;比如tomcat需要安装jdk。
进一步的,向所述数据库导入数据包包括:
获取所述数据库所在服务器的IP地址;
明确数据库用户名密码;
明确数据包名称及路径;
根据数据库服务器IP地址、数据库用户名密码、数据包名称、数据包目录执行数据导入。
综上所述,本发明专利将应用系统人工部署的这些频发但模式固定的多个操作环节固化成通用的工作流,以自动化脚本代替人工操作,实现数据库、中间件的自动化部署,并自动根据数据库服务器的IP对应用程序的数据源进行配置,自动将应用程序发布至中间件中,实现应用程序的自动化部署,大大提升应用发布效率,杜绝人工误操作的风险,应用发布效率提升65%左右。本发明的自动化部署方法还具备完善的兼容性,根据用户需求进行判断并运行相应的自动化命令,支持多种类型的主流数据库oracle、sqlserver、mysql和主流中间件tomcat、weblogic、IIS的随意组合发布应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的涉及支持多数据库、多中间件类型的应用系统自动化部署方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种涉及支持多数据库、多中间件类型的应用系统自动化部署方法,如图1所示,包括:
步骤S1、用户根据规范要求填写对应的需求清单
为满足多种类型中间件、数据库的应用自动化部署需求,需制定规范要求,明确相应的约定规则,用户需填写对应的需求清单,清单中需要用户提供如下内容:数据库类型及版本、数据库用户名密码、数据包名称及存放路径、程序数据源配置文件及存放路径、中间件类型及版本、中间件管理用户名密码、中间件服务端口。这样才能将这些频发但模式固定的工作固化成通用的工作流,以自动化脚本代替人工操作,实现数据库、中间件的自动化部署,并自动根据数据库服务器的IP对应用程序的数据源进行配置,自动将应用程序发布至中间件中,实现应用程序的自动化部署。
步骤S2、执行自动化脚本安装数据库
根据步骤S1规范要求中的用户需求明确需要安装的数据库类型及版本;
执行自动化脚本安装相应的数据库,实现数据库的自动化部署。
不同数据库使用不同的安装部署方式,在本专利申请人同一天申请的其他多篇发明专利中有详述具体的部署方法,涉及oracle、sqlserver、mysql等主流数据库的具体自动部署方法,比如:一种Oracle单机一键自动部署方法、一种Oracle RAC一键自动部署方法、一种Oracle和Weblogic组合一键自动部署方法、一种Oracle和Tomcat组合一键自动部署方法、一种MySQL和Weblogic组合一键自动部署方法、一种达梦数据库和Weblogic组合一键自动部署方法、一种达梦数据库和tomcat组合一键自动部署方法、一种达梦数据库的一键自动部署方法、一种Mysql一键自动部署方法、一种tomcat和mysql组合一键自动部署方法、一种SQL Server 和Weblogic组合一键自动部署方法、一种SQL Server一键自动部署方法等。本步骤中以Mysql 15.5、Oracle、SQL Server 2008数据库的自动化部署为例,说明具体的自动化部署方法。
例1:一种Mysql 15.5一键部署方法
一种Mysql 15.5一键部署方法,包括以下步骤:
1)申请Mysql虚拟机节点和预置远程安装服务器;
2)判断虚拟机操作系统版本;
3)安装cgroup容器组件;
4)根据虚拟机操作系统版本,关闭对应的防火墙;
5)启动容器组件并将容器组件添加至系统启动时自动加载项目中;
6)初始化Mysql自动安装脚本和Mysql安装包;
7)连接预置远程安装服务器,下载Mysql安装包以及配置文件;
8)设置Mysql的数据文件存储路径和Mysql对外访问端口;
9)根据用户配置,重置Mysql的root密码;
10)验证端口是否能够正常连接。
所述步骤3)虚拟机操作系统为操作系统CentOS6,则先行安装device-mapper-libs组件,此组件为容器技术的必须依赖组件。
所述虚拟机操作系统为操作系统CentOS,虚拟机操作系统为CentOS6则关闭 iptables防火墙。
所述步骤8)Mysql 15.5的数据存储路径为/var/lib/mysql。
所述步骤8)中Mysql的访问端口为3306。
所述步骤7)通过Ip地址连接远程安装服务器。
所述步骤7)下载Mysql安装包为Mysql5.5。
所述步骤9)Mysql 15.5的root的密码为:1234。
验证端口能正常使用连接,安装完成。
例2:一种Oracle单机一键部署方法
一种Oracle单机一键部署方法,包括如下步骤:
1)获取Oracle自动安装脚本和Oracle安装压缩包。
2)判断待安装主机是否为root用户:若是,直接运行所述Oracle自动安装脚本;若不是,若不是,则切换至root用户登录,再运行所述oracle自动安装脚本。
3)根据预设参数或默认参数运行所述Oracle自动安装脚本。
4)预安装部署,该步骤包括获取主机名称、检查内存(其中内存包含虚拟机内存和物理内存)、创建Oracle用户、配置操作系统参数、建立安装目录、配置环境变量。
5)解压所述Oracle安装压缩包,以便获取Oracle数据库软件安装包和Oracle数据库安装包。
6)安装Oracle数据库软件和Oracle数据库。
7)删除安装临时文件。
8)校验所述Oracle数据库软件和所述Oracle数据是否安装成功。
例3:在windows server 2008 R2 x64上一键部署SQL Server 2008的方法
在windows server 2008 R2 x64上一键部署SQL Server 2008的方法,包括如下步骤:
1)申请一台操作系统为windows server 2008 R2 x64的虚拟机,该虚拟机配置参数为:2CPU、4核心、16G内存,500GB磁盘。
2)在虚拟机中部署自动化安装脚本,将安装包放置在远端资源库服务器。
3)配置静默安装文件(ConfigurationFile.ini),SQL Server 2008版本的配置文件包括以下主要配置项:
(1)指定的 SQL Server 功能指定实例 ID,SQL Server 目录结构、注册表结构和服务名称将反映 SQL Server 实例的实例 ID,其值为:
INSTANCEID="MSSQLSERVER";
(2)指定安装程序的工作流,指定为安装(Install),其值为:
ACTION="Install";
(3)指定要安装、卸载或升级的功能。顶级功能列表包括 SQL、AS、RS、IS 和工具。SQL功能将安装数据库引擎、复制和全文。工具功能将安装管理工具、联机丛书、BusinessIntelligence Development Studio 和其他共享组件,其值为:
FEATURES=SQLENGINE,CONN,BC,SDK,SSMS,ADV_SSMS,SNAC_SDK;
(4)指定本次安装程序将不会显示任何用户界面,其值为:
QUIET="False";
(5)指定本次安装程序将只显示进度,不需要任何用户交互,其值为:
QUIETSIMPLE="False";
(6)指定安装程序应该安装到 WOW64 中,IA64 或 32 位系统不支持此命令行参数,其值为:
X86="False";
(7)指定用于控制用户界面行为的参数,对于完整 UI 为 Normal,对于简化的 UI 为AutoAdvance, 其值为:
UIMODE="Normal";
(8)指定本机共享组件的安装根目录, 其值为:
INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server";
(9)指定 WOW64 共享组件的安装根目录,其值为:
INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server";
(10)指定安装目录,其值为:
INSTANCEDIR="C:\Program Files\Microsoft SQL Server";
(11)指定可以收集 SQL Server 功能使用情况数据,并将数据发送到Microsoft,指定1 或 True 将启用此功能,指定 0 或 False 将禁用此功能,其值为:
SQMREPORTING="False";
(12)指定默认实例或命名实例。MSSQLSERVER 是非 Express 版本的默认实例,SQLExpress 则是 Express 版本的默认实例。在安装 SQL Server 数据库引擎(SQL)、Analysis Services (AS)或 Reporting Services (RS)时,此参数是必需的,其值为:
INSTANCENAME="MSSQLSERVER";
(13)指定代理帐户名 ,其值为:
AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE";
(14)指定安装后自动启动服务,其值为:
AGTSVCSTARTUPTYPE="Manual";
(15)指定Integration Services 的启动类型,其值为:
ISSVCSTARTUPTYPE="Automatic";
(16)指定Integration Services 的帐户: 域\用户或系统帐户,其值为:
ISSVCACCOUNT="NT AUTHORITY\NetworkService";
(17)在创建服务后控制服务启动类型设置,其值为:
ASSVCSTARTUPTYPE="Automatic";
(18)指定Analysis Services 要使用的排序规则,其值为:
ASCOLLATION="Latin1_General_CI_AS";
(19)指定Analysis Services 数据文件的位置,其值为:
ASDATADIR="Data";
(20)指定Analysis Services 日志文件的位置,其值为:
ASLOGDIR="Log";
(21)指定 Analysis Services 备份文件的位置, 其值为:
ASBACKUPDIR="Backup";
(22)指定Analysis Services 临时文件的位置, 其值为:
ASTEMPDIR="Temp";
(23)指定Analysis Services 配置文件的位置,其值为:
ASCONFIGDIR="Config";
(24)指定是否允许 MSOLAP 访问接口在进程中运行,其值为:
ASPROVIDERMSOLAP="1";
(25)指定用于连接 SharePoint 管理中心 Web 应用程序的端口号,其值为:
FARMADMINPORT="0";
(26)指定SQL Server 服务的启动类型,其值为:
SQLSVCSTARTUPTYPE="Automatic";
(27) 启用 FILESTREAM 功能的级别(0、1、2 或 3),其值为:
FILESTREAMLEVEL="0";
(28)指定要用于数据库引擎的 Windows 排序规则或 SQL 排序规则,其值为:
SQLCOLLATION="Chinese_PRC_CI_AS";
(29)指定SQL Server 服务的帐户: 域\用户或系统帐户,其值为:
SQLSVCACCOUNT="NT AUTHORITY\SYSTEM";
(30)设置 SQL Server 系统管理员的 Windows 帐户,其值为:
SQLSYSADMINACCOUNTS="WIN-077VS96U8DN\Administrator,"
SQLSYSADMINACCOUNTS=".\Administrator";
(31)指定身份验证方式,默认值为 Windows 身份验证。使用 "SQL" 表示采用混合模式身份验证 ,其值为:
SECURITYMODE="SQL";
(32)指定 SQL Server sa 帐户的默认密码,其值为:
SAPWD="zaq12WSX";
(33)将当前用户设置为 SQL Server 2008 R2 Express 的数据库引擎系统管理员,其值为:
ADDCURRENTUSERASSQLADMIN="False";
(34)指定 0 禁用 TCP/IP 协议,指定 1 则启用该协议,其值为:
TCPENABLED="1"
(35)指定 0 禁用 Named Pipes 协议,指定 1 则启用该协议,其值为:
NPENABLED="0"
(36)设定Browser 服务的启动类型,其值为:
BROWSERSVCSTARTUPTYPE="Automatic"
(37)指定报表服务器 NT 服务的启动模式,其值为:
自动 - 在自动模式下启动服务,
RSSVCSTARTUPTYPE="Automatic";
(38) 指定报表服务器的安装模式,默认值: “FilesOnly”,其值为:
RSINSTALLMODE="FilesOnlyMode";
4)设定脚本输入参数,指定安装的SQL Server数据库版本为SQL Server 2008,指定数据库的初始化密码为默认值(zaq12WSX),指定SQL Server产品序列号,系统根据输入的参数自动执行安装脚本,安装的具体过程项如下:
(1)调整组策略,关闭“打开文件-安全警告”的系统提示,防止产生前端界面UI的互动:
(2)运行gpupdate /force命令使上述调整的组策略生效;
(3)在虚拟机上建立一个到远端资源库服务器的磁盘映射(X:)
(4)判断输入参数是否有设定新的数据库初始化密码,如果没有则自动默认密码(zaq12WSX);
(5)虚拟机的操作系统版本为windows server 2008 R2 x64,SQL Server 版本为SQLServer 2008。
获取的安装文件为:
X:\sqlserver\2008R2\cs_sql_2008_r2\Setup.exe。
该安装文件已包含有SP2的补丁因此无需其他补丁文件。
(6)系统自动调用安装文件(setup.exe)结合ConfigurationFile.ini静默配置文件开始进行数据库安装。
(7)完成安装后系统自动计算虚拟机的内存总量,按照其总内存的80%配置SQLServer数据库的使用内存。
(8)开启SQL Server的远程TCP/IP链接模式、开通防火墙的1433端口。
(9)通过命令net use X: /del断开磁盘映射,完成部署。
步骤S3、向安装好的数据库导入数据包
1)获取新部署数据库所在服务器的IP地址;
2)根据步骤S1规范要求中的用户需求明确数据库用户名密码;
3)根据步骤S1规范要求中的用户需求明确数据包名称及路径;
4)执行自动化脚本语言命令,根据数据库服务器IP地址、数据库用户名密码、数据包名称、数据包目录执行数据导入;
步骤S4、配置操作系统环境变量,安装中间件的依赖组件
1)根据步骤S1规范要求中的用户需求明确需要安装的中间件类型;
2)判断该中间件是否需要安装其他依赖组件,如tomcat需要安装jdk;
3)配置操作系统环境变量,安装对应的依赖组件,如JDK。
环境变量是在操作系统中的对象,它包含了应用程序运行所需要信息。例如操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。只有正确设置环境变量后,应用程序才能被正常编译、正常运行。
手工配置做法是“单击我的电脑右键”,选择“属性”,选择“高级系统设置”,选择“环境变量”进行配置,本实施例中的自动化配置可以直接使用脚本命令 wmicenvironment 来完成 ,如“wmic environment create name="JAVA_HOME",username="<system>",VariableValue="%myjavapath”。
步骤S5、安装中间件
1)根据步骤S1规范要求中的用户需求明确需要安装的中间件类型及版本;
2)根据上一步获取的中间件类型及版本执行相应的中间件安装,在本专利申请人同一天申请的其他多篇发明专利中有详述具体的安装过程,涉及tomcat、weblogic、IIS等主流中间件的具体安装过程,比如:一种Oracle和Weblogic组合一键自动部署方法、一种Oracle和Tomcat组合一键自动部署方法、一种weblogic单机一键自动部署方法、一种weblogic集群一键自动部署方法、一种MySQL和Weblogic组合一键自动部署方法、一种SQL Server 和Weblogic组合一键自动部署方法、一种达梦数据库和Weblogic组合一键自动部署方法、一种达梦数据库和tomcat组合一键自动部署方法、一种tomcat和mysql组合一键自动部署方法、一种 tomcat和sql server组合一件自动部署方法、一种 tomcat单机一键自动部署方法、一种tomcat集群一键自动部署方法。本步骤中以tomcat、weblogic中间件的安装为例,说明具体中间件的安装过程。
例1:一种Tomcat单机的一键部署方法
一种Tomcat单机的一键部署方法,包括以下步骤:
1)获取预先配置的虚拟机。
首先,通过申请等方式获取一台Tomcat虚拟机节点。虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
由于虚拟机即为完整的计算机系统,因此在一键部署Tomcat单机的过程中,需要判断该虚拟机的操作系统版本,从而对其进行恰当的配置。
即判断操作系统版本,如果判断到该操作系统版本为CentOS6,则需要预先安装device-mapper-libs组件。此组件为所需的cgroup容器技术的必须依赖组件,用于支持容器技术所需要的磁盘映射功能。
2)安装cgroup容器组件。
接下来,预先配置完成安装cgroup容器组件。之后,还需要给予操作系统版本进行关闭对应的防火墙的操作,以便于自动安装并配置Tomcat中间件。
具体的,判断操作系统版本,如果判断到该操作系统版本为CentOS6,则关闭 iptables防火墙;如果判断到该操作系统版本为CentOS7,则关闭firewalld防火墙。
之后,即可启动该cgroup容器组件,并将该cgroup容器组件添加至操作系统启动时自动加载项目中。
另外,还需要进行配置管理数据库的安装,该配置管理数据库用于管理并存储用户添加的各应用包。具体的,连接至远程安装服务器,下载配置管理数据库。
将配置管理数据库的数据端口设置为2379,数据文件存储目录设置为/var/lib/etcd,启动配置管理数据库,将配置管理数据库加入cgroup容器中启动并配置自动启动项。
3)在cgroup容器组件中安装Tomcat中间件。
为了安装tomcat中间件,首先需要连接至远程安装服务器,下载所需要的Tomcat中间件的版本。
可获取用户输入选项,由用户来决定所需要的Tomcat中间件的版本。之后,根据用户输入选项,自动适配下载Tomcat6、Tomcat7或Tomcat8版本。
同时,通过用户输入选项,判断是否删除tomcat目录webapps下的manager和host-manager文件夹,以提高系统安全性,屏蔽后期的管理功能。
之后,还可获取用户配置,基于所获取到的用户配置,设置始终保持激活的最小线程数、能够接入的最大队列长度。
具体的,为根据用户配置,设置server.xml文件中的minSpareThreads,表示始终保持激活的最小线程数。并发用户数小于或等于50个的系统建议该值设为50;并发用户数50至200个的系统建议该值设为200;并发用户数大于200个的系统建议该值设为最大并发请求数,最小线程数的默认值为50。
同理,还可根据用户配置,设置server.xml文件中的acceptCount,表示能够接入的最大队列长度,最大队列长度的默认值为100。
之后,可将Tomcat中间件加入cgroup容器中启动并配置自动启动项,便于虚拟机启动后,Tomcat中间件也自动启动。
4)公开虚拟机的Tomcat端口。
公开虚拟机的Tomcat端口,便于用户可以访问虚拟机,对虚拟机进行设定等一系列操作。之后,可在配置管理数据库加入【自身IP:8080】的数据记录,在浏览器中输入【自身ip:8080】,查看是否出现已经部署好的应用页面,验证成功表示该Tomcat虚拟机部署完成。
获取到的用户配置中,还可携带有用户所需的war包的属性、名称等参数。则主虚拟机可根据用户配置,连接至远程安装服务器,下载应用程序部署war包,并将下载好的war包放入webapps文件夹中。
之后根据下载好的war包名称,自动刷新context.xml文件,设置Tomcat中间件会自动将用户连接导向至war包所在路径。
根据下载好的war包名称,自动刷新context.xml文件,设置tomcat会自动将用户连接导向至war包所在路径。
例2:一种weblogic集群一键部署方法
一种weblogic集群一键部署方法,具体安装过程如下:
1)获取Weblogic安装压缩包;
2)创建Weblogic安装包主目录;
3)解压所述Weblogic安装压缩包,获取Weblogic安装包;
4)打开操作系统管理控制台,接收用户输入参数;
用户输入参数包括如下内容:
Password // weblogic管理控制台密码
domain_name // weblogic域名称
host_name // weblogic集群部署涉及的多个主机名,以“,”分开,如 “host1 ,host2”
ip_address // weblogic集群部署涉及的多个主机的IP,以“,”分开,如“192.168.1.101,192.168.1.102”
cluster_name //集群名称
5)初始化域配置文件,具体过程如下:
(1)判断域配置文件是否存在,若存在则删除
(2)创建域配置文件,提取上述步骤4)中用户的输入参数,写入创建的域配置文件中,形成新的域配置文件。
6)执行weblogic安装
(1)创建安装路径
(2)创建并配置虚拟内存
(3)安装weblogic依赖环境JDK
(4)配置系统host
(5)识别weblogic安装版本,若版本不符则提示版本错误,需要更新安装包版本
(6)配置并验证环境变量
(7)以静默安装模式运行weblogic安装包,指定静默安装所需的配置文件silent_xml。
(8)初始化用户组、用户及密码,设置相应权限
(9)验证用户及相应的权限是否配置正确
7)创建weblogic域
(1)识别操作系统类型
(2)根据操作系统类型引用对应的域配置文件 domain.cfg
(3)读取域配置文件domain.cfg中的域名称、模版路径、管理密码等信息并根据该些信息创建域。
8)调用weblogic提供的startWebLogic.sh启动weblogic服务
9)配置weblogic域
(1)验证weblogic服务是否启动完成
(2)启用产品模式
(3)配置域根目录、端口、域名称、密码、对应主机名称及主机IP等信息;
10)打包weblogic域信息,将上述配置好的域配置封装打包成domain.Jar,供集群中的其他主机使用;
11)拷贝域信息,将上一步中打包好的domain.Jar拷贝至集群中的其他的主机,并运行domain.Jar,使其他主机完成域配置,完成集群配置。
12)重新启动weblogic服务
13)验证集群版weblogic安装及域创建是否成功
此处需要特别说明的是,步骤S2、S3可以与步骤S4、S5同时进行,业界称为”并行”执行。
步骤S6、将应用程序包考本至对应的发布目录
中间件中有指定的应用程序部署目录,如tomcat中的部署目录为webroot,weblogic中的部署目录为指定的domain路径。
步骤S7、将所述数据库服务器IP注入程序数据源配置文件
1)根据步骤S1规范要求中的用户需求明确程序数据源配置文件及存放路径;
2)根据明确的程序数据源配置文件及路径打开该配置文件;
3)将数据库服务器IP注入该文件,更新数据库连接配置,完成数据源更新。
步骤S8、将中间件服务端口更新至中间件配置文件,启动中间件服务
1)根据步骤S1规范要求中的用户需求明确中间件服务端口;
2)将用户提供的中间件服务端口更新至中间件配置文件(每个中间件都用自己的配置文件,安装后自动生成的);
3)启动中间件服务;
步骤S9、输入应用系统访问地址,验证应用系统是否部署成功
打开浏览器, 输入应用系统访问地址,验证应用系统是否发布成功。
综上所述,在本发明实施例的技术方案中,将应用系统人工部署的多个操作环节固化成通用的工作流,以自动化脚本代替人工操作,实现数据库、中间件的自动化部署,并自动根据数据库服务器的IP对应用程序的数据源进行配置,自动将应用程序发布至中间件中,实现应用程序的自动化部署,大大提升应用发布效率,杜绝人工误操作的风险,应用发布效率提升65%左右。本实施例的自动化部署方法还具备完善的兼容性,根据用户需求进行判断并运行相应的自动化命令,支持主流数据库oracle、sqlserver、mysql和主流中间件tomcat、weblogic、IIS的随意组合发布应用。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (5)

1.一种支持多数据库、多中间件类型的应用系统自动化部署方法,其特征在于,包括:
获取自动化安装脚本,执行自动化脚本安装数据库;
向所述数据库导入数据包;
配置操作系统环境变量;
安装中间件;
将应用程序包拷贝至对应的发布目录;
获取程序数据源配置文件及存放路径,打开该配置文件,并将所述数据库服务器IP注入程序数据源配置文件;
将中间件服务端口更新至中间件配置文件,启动中间件服务。
2.根据权利要求1所述的自动化部署方法,其特征在于,获取数据库自动化安装脚本,执行自动化脚本安装数据库之前,还包括:明确数据库类型及版本、数据库用户名密码、数据包名称及存放路径、程序数据源配置文件及存放路径、中间件类型及版本、中间件管理用户名密码、中间件服务端口。
3.根据权利要求1所述的自动化部署方法,其特征在于:在启动中间件服务后还包括打开浏览器,输入应用系统访问地址,验证应用系统是否部署成功。
4.根据权利要求1或2或3所述的自动化部署方法,其特征在于,安装中间件之前,还包括:判断该中间件是否需要安装依赖组件,如需安装,则安装对应的依赖组件。
5.根据权利要求4所述的自动化部署方法,其特征在于,向所述数据库导入数据包包括:
获取所述数据库所在服务器的IP地址;
明确数据库用户名密码;
明确数据包名称及路径;
根据数据库服务器IP地址、数据库用户名密码、数据包名称、数据包目录执行数据导入。
CN201610749383.1A 2016-08-30 2016-08-30 一种支持多数据库、多中间件类型的应用系统自动化部署方法 Active CN106325951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610749383.1A CN106325951B (zh) 2016-08-30 2016-08-30 一种支持多数据库、多中间件类型的应用系统自动化部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610749383.1A CN106325951B (zh) 2016-08-30 2016-08-30 一种支持多数据库、多中间件类型的应用系统自动化部署方法

Publications (2)

Publication Number Publication Date
CN106325951A true CN106325951A (zh) 2017-01-11
CN106325951B CN106325951B (zh) 2018-03-06

Family

ID=57788232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610749383.1A Active CN106325951B (zh) 2016-08-30 2016-08-30 一种支持多数据库、多中间件类型的应用系统自动化部署方法

Country Status (1)

Country Link
CN (1) CN106325951B (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897101A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种Oracle数据库的部署方法及装置
CN107197009A (zh) * 2017-05-17 2017-09-22 郑州云海信息技术有限公司 一种基于WebLogic集群的应用自动发布方法及装置
CN107193614A (zh) * 2017-06-23 2017-09-22 郑州云海信息技术有限公司 一种自动提示、自动记录、自动预装操作系统的方法
CN107203400A (zh) * 2017-06-21 2017-09-26 郑州云海信息技术有限公司 一种远程部署组件的方法及装置
CN107463418A (zh) * 2017-09-12 2017-12-12 北京宝兰德软件股份有限公司 一种服务器中间件的配置文件生成方法及装置
CN107544823A (zh) * 2017-07-31 2018-01-05 郑州云海信息技术有限公司 一种软件部署方法及系统
CN107734009A (zh) * 2017-09-28 2018-02-23 安徽四创电子股份有限公司 一种基于平安城市应用程序的自动分发方法
CN107832107A (zh) * 2017-11-24 2018-03-23 泰康保险集团股份有限公司 系统部署方法、装置、电子设备及存储介质
CN108052351A (zh) * 2017-11-09 2018-05-18 山东中创软件商用中间件股份有限公司 一种开启数据库的远程访问的方法、装置及设备
CN108197149A (zh) * 2017-12-05 2018-06-22 上海宝信软件股份有限公司 数据库云的实现方法和系统
CN108549542A (zh) * 2018-04-11 2018-09-18 泰康保险集团股份有限公司 一种文件部署方法、装置及设备
CN108632331A (zh) * 2017-08-28 2018-10-09 北京视联动力国际信息技术有限公司 一种视联网应用的安装方法和装置
CN108763419A (zh) * 2018-05-24 2018-11-06 郑州云海信息技术有限公司 一种迁移处理的方法、装置及计算机存储介质
CN108809721A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种远程部署任务的方法及装置
CN108845808A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 中间件安装方法、装置、计算机设备及存储介质
CN108920174A (zh) * 2018-06-22 2018-11-30 山东超越数控电子股份有限公司 在多主机上部署和配置容器引擎的运行环境的方法与装置
CN109189551A (zh) * 2018-08-09 2019-01-11 郑州云海信息技术有限公司 一种创建中间件的方法、装置及计算机存储介质
CN109298856A (zh) * 2017-07-19 2019-02-01 北京国双科技有限公司 编辑器版本兼容的方法和装置
CN109525569A (zh) * 2018-11-06 2019-03-26 北京北信源信息安全技术有限公司 一种用户终端和服务器的通信配置方法及设备
CN109683921A (zh) * 2018-12-28 2019-04-26 国网江苏省电力有限公司信息通信分公司 一种基于电力系统自动化运维平台的全流程系统部署方法
CN110019517A (zh) * 2017-11-14 2019-07-16 顺丰科技有限公司 一种数据库中间件动态配置方法、系统、设备、存储介质
WO2019157860A1 (zh) * 2018-02-13 2019-08-22 广东欧珀移动通信有限公司 应用界面的启动方法、装置、存储介质及电子设备
CN110855501A (zh) * 2019-11-21 2020-02-28 广州西麦科技股份有限公司 一种用于中创中间件的批量发布系统、方法及存储介质
CN112486503A (zh) * 2020-12-08 2021-03-12 浪潮云信息技术股份公司 用于分布式应用的部署交付方法
CN112764753A (zh) * 2020-12-31 2021-05-07 北京知因智慧科技有限公司 一种项目的部署方法、装置、电子设备及存储介质
CN113110846A (zh) * 2021-04-28 2021-07-13 网易传媒科技(北京)有限公司 一种环境变量的获取方法及装置
CN113987391A (zh) * 2021-09-22 2022-01-28 重庆数地科技有限公司 一种多场景配置文件的获取的方法及系统
CN116150250A (zh) * 2023-04-20 2023-05-23 瀚高基础软件股份有限公司 一种基于PostgreSQL的双端口解析方法及装置
CN116450622A (zh) * 2023-06-16 2023-07-18 建信金融科技有限责任公司 数据入库的方法、装置、设备和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130055280A1 (en) * 2011-08-25 2013-02-28 Empire Technology Development, Llc Quality of service aware captive aggregation with true datacenter testing
CN105224348A (zh) * 2014-06-11 2016-01-06 中兴通讯股份有限公司 一种MySQL数据库的安装方法及装置
CN105653329A (zh) * 2015-12-30 2016-06-08 国网信息通信产业集团有限公司 一种应用管理的方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130055280A1 (en) * 2011-08-25 2013-02-28 Empire Technology Development, Llc Quality of service aware captive aggregation with true datacenter testing
CN105224348A (zh) * 2014-06-11 2016-01-06 中兴通讯股份有限公司 一种MySQL数据库的安装方法及装置
CN105653329A (zh) * 2015-12-30 2016-06-08 国网信息通信产业集团有限公司 一种应用管理的方法、装置及系统

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897101A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种Oracle数据库的部署方法及装置
CN107197009A (zh) * 2017-05-17 2017-09-22 郑州云海信息技术有限公司 一种基于WebLogic集群的应用自动发布方法及装置
CN107197009B (zh) * 2017-05-17 2020-11-03 浪潮云信息技术股份公司 一种基于WebLogic集群的应用自动发布方法及装置
CN107203400A (zh) * 2017-06-21 2017-09-26 郑州云海信息技术有限公司 一种远程部署组件的方法及装置
CN107193614A (zh) * 2017-06-23 2017-09-22 郑州云海信息技术有限公司 一种自动提示、自动记录、自动预装操作系统的方法
CN109298856A (zh) * 2017-07-19 2019-02-01 北京国双科技有限公司 编辑器版本兼容的方法和装置
CN107544823A (zh) * 2017-07-31 2018-01-05 郑州云海信息技术有限公司 一种软件部署方法及系统
CN108632331A (zh) * 2017-08-28 2018-10-09 北京视联动力国际信息技术有限公司 一种视联网应用的安装方法和装置
CN107463418A (zh) * 2017-09-12 2017-12-12 北京宝兰德软件股份有限公司 一种服务器中间件的配置文件生成方法及装置
CN107734009A (zh) * 2017-09-28 2018-02-23 安徽四创电子股份有限公司 一种基于平安城市应用程序的自动分发方法
CN108052351A (zh) * 2017-11-09 2018-05-18 山东中创软件商用中间件股份有限公司 一种开启数据库的远程访问的方法、装置及设备
CN110019517A (zh) * 2017-11-14 2019-07-16 顺丰科技有限公司 一种数据库中间件动态配置方法、系统、设备、存储介质
CN107832107A (zh) * 2017-11-24 2018-03-23 泰康保险集团股份有限公司 系统部署方法、装置、电子设备及存储介质
CN108197149B (zh) * 2017-12-05 2020-07-14 上海宝信软件股份有限公司 数据库云的实现方法和系统
CN108197149A (zh) * 2017-12-05 2018-06-22 上海宝信软件股份有限公司 数据库云的实现方法和系统
WO2019157860A1 (zh) * 2018-02-13 2019-08-22 广东欧珀移动通信有限公司 应用界面的启动方法、装置、存储介质及电子设备
CN108549542A (zh) * 2018-04-11 2018-09-18 泰康保险集团股份有限公司 一种文件部署方法、装置及设备
CN108763419A (zh) * 2018-05-24 2018-11-06 郑州云海信息技术有限公司 一种迁移处理的方法、装置及计算机存储介质
CN108809721A (zh) * 2018-06-13 2018-11-13 郑州云海信息技术有限公司 一种远程部署任务的方法及装置
CN108920174A (zh) * 2018-06-22 2018-11-30 山东超越数控电子股份有限公司 在多主机上部署和配置容器引擎的运行环境的方法与装置
CN108845808A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 中间件安装方法、装置、计算机设备及存储介质
WO2019242162A1 (zh) * 2018-06-22 2019-12-26 平安科技(深圳)有限公司 中间件安装方法、装置、计算机设备及存储介质
CN109189551A (zh) * 2018-08-09 2019-01-11 郑州云海信息技术有限公司 一种创建中间件的方法、装置及计算机存储介质
CN109525569A (zh) * 2018-11-06 2019-03-26 北京北信源信息安全技术有限公司 一种用户终端和服务器的通信配置方法及设备
CN109683921A (zh) * 2018-12-28 2019-04-26 国网江苏省电力有限公司信息通信分公司 一种基于电力系统自动化运维平台的全流程系统部署方法
CN109683921B (zh) * 2018-12-28 2022-04-15 国网江苏省电力有限公司信息通信分公司 一种基于电力系统自动化运维平台的全流程系统部署方法
CN110855501A (zh) * 2019-11-21 2020-02-28 广州西麦科技股份有限公司 一种用于中创中间件的批量发布系统、方法及存储介质
CN110855501B (zh) * 2019-11-21 2022-04-26 广州西麦科技股份有限公司 一种用于中创中间件的批量发布系统、方法及存储介质
CN112486503A (zh) * 2020-12-08 2021-03-12 浪潮云信息技术股份公司 用于分布式应用的部署交付方法
CN112764753A (zh) * 2020-12-31 2021-05-07 北京知因智慧科技有限公司 一种项目的部署方法、装置、电子设备及存储介质
CN112764753B (zh) * 2020-12-31 2024-04-12 北京知因智慧科技有限公司 一种项目的部署方法、装置、电子设备及存储介质
CN113110846A (zh) * 2021-04-28 2021-07-13 网易传媒科技(北京)有限公司 一种环境变量的获取方法及装置
CN113987391A (zh) * 2021-09-22 2022-01-28 重庆数地科技有限公司 一种多场景配置文件的获取的方法及系统
CN116150250A (zh) * 2023-04-20 2023-05-23 瀚高基础软件股份有限公司 一种基于PostgreSQL的双端口解析方法及装置
CN116450622A (zh) * 2023-06-16 2023-07-18 建信金融科技有限责任公司 数据入库的方法、装置、设备和计算机可读介质
CN116450622B (zh) * 2023-06-16 2023-09-22 建信金融科技有限责任公司 数据入库的方法、装置、设备和计算机可读介质

Also Published As

Publication number Publication date
CN106325951B (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN106325951B (zh) 一种支持多数据库、多中间件类型的应用系统自动化部署方法
US8726270B2 (en) Distributed installation configuration over multiple machines
US8127268B2 (en) Server testing framework
US8122106B2 (en) Integrating design, deployment, and management phases for systems
US9760358B2 (en) System and method for test to production support in a cloud platform environment
US8365164B1 (en) Portable software applications
US9864592B2 (en) System and method for deploying software into a computing environment
CN1959631B (zh) 一种基于itron的应用软件自主装配系统及方法
CN106325953A (zh) 一种Weblogic集群一键自动部署方法
CN106649430A (zh) 一种SQL Server 一键自动部署方法
Cisco Installation and Licensing
CN106383724A (zh) 一种Tomcat和Sql Server组合一键自动部署方法
Kolb et al. Nucleus-Unified Deployment and Management for Platform as a Service
CN116341012A (zh) 基于只读机制的文件系统安全加固方法
Allaire Corporation Administering Coldfusion Server
Bach et al. Installing the Oracle Database
Thakker et al. Patching and Ongoing Administration
Lee Use ClickOnce to deploy Windows applications
VYDRA Automated creation and testing of virtual network environments
Bach et al. Installing Oracle Linux
Younker A Build for Every Check-In
Glover et al. Oracle Database Installation Guide 11g Release 2 (11.2) for Microsoft Windows E47798-02
Jayaraaman et al. Oracle Enterprise Manager Administrator's Guide for Software and Server Provisioning and Patching, 11g Release 1 (11.1. 0.1. 0) E16599-05
Manual WhereScape® RED
Wessler et al. Installation and Administration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant