基于web应用多服务器自动发布的方法与流程

文档序号:17938857发布日期:2019-06-18 22:52阅读:265来源:国知局
基于web应用多服务器自动发布的方法与流程

本发明涉及一种基于web应用多服务器自动发布的方法,尤指一种计算机软件领域的基于web应用多服务器自动发布的方法。



背景技术:

web应用系统是大型制造业信息系统,使用人众多,用户分布在不同地区和国家的基地,每个基地使用的系统相对独立,并要求系统24*7小时运行,系统版本一月一大版本上线,一周一小版本上线,再加上bug修正和各种功能临时上线等,每天都会有大量的上线需求,往往让运维团队非常疲劳;因人为因素导致的上线事故也层出不穷,各基地通过vpn专线连接,带宽1m,系统发布上传代码占用时间长,占用带宽高,并严重影响vpn专线使用。

总结起来,该web应用系统版本更新周期短,发布服务器多,发布任务重,运维成本高,发布操作比较繁琐,运维人员容易疲劳和人为操作失误,并占用大量的网络和磁盘资源,发布时间长,影响专线使用和影响用户对系统的使用。

因此,有必要设计一种好的基于web应用多服务器自动发布的方法,以克服上述问题。



技术实现要素:

针对背景技术所面临的问题,本发明的目的在于提供一种并行自动发布,以达到速度快、占用网络带宽和磁盘少,以及运维成本低的基于web应用多服务器自动发布的方法。

为实现上述目的,本发明采用以下技术手段:

一种基于web应用多服务器自动发布的方法,其包括以下步骤:

步骤一:创建新版本,提供一代码编译模块,其内具有一服务器,将新的代码提交到版本管理系统,触发服务器进行自动编译;步骤二:建立维护发布计划,版本管理系统包含有发布库,服务器将新的代码编译完成,提前且自动将所有发布计划维护到版本管理系统,新版本的web应用位于发布库;步骤三:进行增量更新,版本管理系统包含有多个基地服务器,且每一个基地服务器具有预发布区,执行发布任务前,将变更过的新代码同时下载到多个基地服务器的预发布区,新版本的web应用位于预发布区;步骤四:执行发布,预先设定的上线时间一到,则关闭版本管理系统,关闭旧版本的web应用,再发布新版本的web应用;步骤五:重启web应用,系统发布完成。

步骤一中,先创建新版本,然后维护上线时间并安排开发。

步骤一中,安排开发后,对开发完成的新代码进行自测,自测没有问题,新的代码再提交到版本管理系统,版本管理系统收到新的代码提交命令后,再触发服务器进行自动编译,自测出现问题,则再返回重新开发。

步骤二中,新的代码编译完成,在上线前一小时,自动将所有发布计划维护到版本管理系统。

步骤三中,每个基地服务器自动增量更新代码,使得新版本的代码放到预发布区。

步骤四中,执行发布是并行的,多个基地服务器同一时间发布。

与现有技术相比,本发明具有以下有益效果:

上述基于web应用多服务器自动发布的方法,步骤一,创建新版本,提供代码编译模块,服务器将新的代码提交到版本管理系统,触发服务器进行自动编译;步骤二,建立维护发布计划,版本管理系统包含有发布库,服务器将新的代码编译完成,提前且自动将所有发布计划维护到版本管理系统,新版本的web应用位于发布库;步骤三,进行增量更新,版本管理系统包含有多个基地服务器,且每一个基地服务器具有预发布区,执行发布任务前,将变更过的新代码同时下载到多个基地服务器的预发布区,新版本的web应用位于预发布区;步骤四,执行发布,预先设定的上线时间一到,则关闭版本管理系统,关闭旧版本的web应用,再发布新版本的web应用;步骤五,重启web应用,系统发布完成,这样的方式,由于新代码同时下载到多个基地服务器的预发布区,可以达到速度快、占用网络带宽和磁盘少,以及运维成本低的目的。

【附图说明】

图1为本发明基于web应用多服务器自动发布的方法的整体框架图;

图2为本发明基于web应用多服务器自动发布的方法的具体框架步骤图;

图3为本发明基于web应用多服务器自动发布的方法的执行发布示意图。

【具体实施方式】

为便于更好的理解本发明的目的、结构、特征以及功效等,现结合附图和具体实施方式对本发明作进一步说明。

请参见图1至图3,一种基于web应用多服务器自动发布的方法,其包括以下步骤:

步骤一:创建新版本,提供一代码编译模块,其内具有一服务器,然后维护上线时间并安排开发,安排开发后,对开发完成的新代码进行自测,自测没有问题,新的代码再提交到版本管理系统,版本管理系统收到新的代码提交命令后,再触发服务器进行自动编译,自测出现问题,则再返回重新开发。

步骤二:建立维护发布计划,版本管理系统包含有发布库,服务器将新的代码编译完成,在上线前一小时,提前且自动将所有发布计划维护到版本管理系统,新版本的web应用位于发布库。

步骤三:进行增量更新,版本管理系统包含有多个基地服务器,且每一个基地服务器具有预发布区,执行发布任务前,将变更过的新代码同时下载到多个基地服务器的预发布区,每个基地服务器自动增量更新代码,使得新版本的代码放到预发布区,新版本的web应用位于预发布区。传统的手工发布系统,先在本地把新的代码打包,然后把打好的包传到每个基地服务器,如果一个包是300m,需发布6个基地服务器,那就需要传输300m*6=1800m的网络流量和磁盘,本发明的技术方案是使用增量发布,每个新的版本代码修改只有少部分,也就是大部分的代码是没有修改过的,只要把修改过新的代码打包到基地服务器就可以了,如果每个版本变更的新代码是项目的十分之一,新的代码实现增量更新后,只占用300m*1/10*6=180m的网络带宽和磁盘,如此占用网络带宽和磁盘比传统手工发布少,同时也避免了因为频繁发布系统导致网络无法正常使用的情况。

传统的系统发布,从更新代码、编译、打包、上传到基地服务器、系统发布等这个系列都要手工操作,操作非常烦琐,系统版本一月一大版本上线,一周一小版本上线,再加上bug修正和各种功能临时上线等,每天都会有大量的上线需求,如果用传统方法发布系统,那需要大量的运维成本,运维成本非常高,本发明的技术方案中,系统发布是自动化的,不需人工操作,不产生运维成本,同时也不会因人为因素导致的上线事故。

步骤四:执行发布是并行的,预先设定的上线时间一到,每个基地服务器同一时间发布,之后则关闭版本管理系统,关闭旧版本的web应用,再发布新版本的web应用。执行发布。传统的手工发布是串行的,先发布基地服务器1,基地服务器1发布完成了,再发布基地服务器2,如果发布一个基地服务器需要5分钟,发布6个基地服务器就需要5*6=30分钟,而本发明方案中多个基地服务器的发布是并行的,多个基地服务器在同一时间发布,如果发布一个基地服务器需要5分钟时间,现在不管发布多少个基地服务器,一共就只需要5分钟时间,可以一次性全部发布完成,发布速度快,对用户使用影响少。

步骤五:重启web应用,系统发布完成。

请参见图1至图3,上述基于web应用多服务器自动发布的方法,步骤一,创建新版本,提供代码编译模块,服务器将新的代码提交到版本管理系统,触发服务器进行自动编译;步骤二,建立维护发布计划,版本管理系统包含有发布库,服务器将新的代码编译完成,提前且自动将所有发布计划维护到版本管理系统,新版本的web应用位于发布库;步骤三,进行增量更新,版本管理系统包含有多个基地服务器,且每一个基地服务器具有预发布区,执行发布任务前,将变更过的新代码同时下载到多个基地服务器的预发布区,新版本的web应用位于预发布区;步骤四,执行发布,预先设定的上线时间一到,则关闭版本管理系统,关闭旧版本的web应用,再发布新版本的web应用;步骤五,重启web应用,系统发布完成,这样的方式,由于新代码同时下载到多个基地服务器的预发布区,可以达到速度快、占用网络带宽和磁盘少,以及运维成本低的目的。

以上详细说明仅为本发明之较佳实施例的说明,非因此局限本发明的专利范围,所以,凡运用本创作说明书及图示内容所为的等效技术变化,均包含于本发明的专利范围内。

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