web项目穿透性自动更新部署的方法与流程

文档序号:14175010阅读:660来源:国知局

本发明涉及一种自动更新部署的方法,具体涉及web项目穿透性自动更新部署的方法。



背景技术:

当前web服务项目的更新部署时,不论是人工还是脚本需要登录到web应用所在的服务器,然后找到项目部署的路径,才能对需要更新的项目进行数据备份与更新,更新之后可能还需要重新启动服务。这样一连串的工作,在实际工作中是可能出现异常情况的。比如,服务器登录密码自动修改,而我们的运维人员在没有拿到登录密码的时候,是不能进行更新操作的。当前应用部署有用docker方式部署的,这样的情况,对于增量部署,又增加了难度,为了解决这种部署上的问题,我们开发并研究了web项目穿透性自动更新部署的方案。。



技术实现要素:

本发明所要解决的技术问题是当前应用部署有用docker方式部署的,这样的情况,对于增量部署,又增加了难度,目的在于提供web项目穿透性自动更新部署的方法,解决上述的问题。

本发明通过下述技术方案实现:

web项目穿透性自动更新部署的方法,包括客户端与服务端,客户端运行在发布的客户服务器上,服务端运行在发布服务端服务器上,所述方法包括以下步骤:s1:服务端在源码库中读取对应时间段的源码,并编译服务器可识别的文件类型比对更新日志,查找在更新时间段内有变化的文件,根据变化的文件,找到对应的编译之后的文件,并按照服务项目目录结构建立对应的文件结构,根据配置的客户端地址,推送更新内容s2:客户服务器上,主要处理服务端推送的数据和对当前系统数据处理,客户端先安装在用户能通过http协议访问的服务器上,并开启端口,等待服务端的推送数据;s3:客户端接收到数据推送内容请求时,根据验证规则来判定数据来源是否合法,接收更新数据文件,根据传递的参数,创建文件存储目录并存放文件;s4:客户端根据新文件的目录与名称,找到原来的文件,创建备份文件目录,备份原来的文件,新文件替换到运行环境目录中,并重启服务。目前,web服务项目的更新部署时,不论是人工还是脚本需要登录到web应用所在的服务器,然后找到项目部署的路径,才能对需要更新的项目进行数据备份与更新,更新之后可能还需要重新启动服务。这样一连串的工作,在实际工作中是可能出现异常情况的。而本发明关键点是服务端可以对已经运行的客户端进行远程自动更新与备份,能实时监控各个运行服务器的版本状况,优化服务更新过程,节省人力物力,穿透服务器防火墙配置来进行部署更新功能,更为便捷与简单。通过服务端根据时间判定获得了编译文件后,对识别文件进行对比,在对比后,选择更新后的文件发送至客户端内,客户端进行验证后,接收更新的文件,并进行文件备份的更新。

进一步地,所述步骤s1中的编译采用mvn工具进行编译成class文件。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。

进一步地,所述步骤s2中的推送的更新内容在发送后会进行反馈,反馈成功,服务完成,反馈结果失败,服务端提示客户端回滚更新数据。

进一步地,所述步骤s3中的验证规则采用javascript脚本进行验证。所述步骤s3中的验证规则采用vbscript脚本进行验证。两者相比各有各的特点,可以分别适用于不同的平台,一般来说javascript能够运行在不同平台上,比如能够同时在windows系统的ie、linux的ns、mazilla等浏览器上运行,而vbscript则只能在windows系统的ie上运行,因此javascript适合做客户端脚本用途,而vbscript本身是asp的默认脚本语言,

本发明与现有技术相比,具有如下的优点和有益效果:

1、本发明web项目穿透性自动更新部署的方法,对已经运行的客户端进行远程自动更新与备份,能实时监控各个运行服务器的版本状况;

2、本发明web项目穿透性自动更新部署的方法,优化服务更新过程,节省人力物力;

3、本发明web项目穿透性自动更新部署的方法,穿透服务器防火墙配置来进行部署更新功能,更为便捷与简单。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为本发明系统流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例

如图1所示,本发明web项目穿透性自动更新部署的方法,web项目穿透性自动更新部署的方法,包括客户端与服务端,客户端运行在发布的客户服务器上,服务端运行在发布服务端服务器上,其特征在于,所述方法包括以下步骤:s1:服务端在源码库中读取对应时间段的源码,并编译服务器可识别的文件类型比对更新日志,查找在更新时间段内有变化的文件,根据变化的文件,找到对应的编译之后的文件,并按照服务项目目录结构建立对应的文件结构,根据配置的客户端地址,推送更新内容s2:客户服务器上,主要处理服务端推送的数据和对当前系统数据处理,客户端先安装在用户能通过http协议访问的服务器上,并开启端口,等待服务端的推送数据;s3:客户端接收到数据推送内容请求时,根据验证规则来判定数据来源是否合法,接收更新数据文件,根据传递的参数,创建文件存储目录并存放文件;s4:客户端根据新文件的目录与名称,找到原来的文件,创建备份文件目录,备份原来的文件,新文件替换到运行环境目录中,并重启服务。目前,web服务项目的更新部署时,不论是人工还是脚本需要登录到web应用所在的服务器,然后找到项目部署的路径,才能对需要更新的项目进行数据备份与更新,更新之后可能还需要重新启动服务。这样一连串的工作,在实际工作中是可能出现异常情况的。而本发明关键点是服务端可以对已经运行的客户端进行远程自动更新与备份,能实时监控各个运行服务器的版本状况,优化服务更新过程,节省人力物力,穿透服务器防火墙配置来进行部署更新功能,更为便捷与简单。通过服务端根据时间判定获得了编译文件后,对识别文件进行对比,在对比后,选择更新后的文件发送至客户端内,客户端进行验证后,接收更新的文件,并进行文件备份的更新。

所述步骤s3中的验证规则采用javascript脚本进行验证。所述步骤s3中的验证规则采用vbscript脚本进行验证。脚本语言常用的无外乎:jscript和vbscript,两者相比各有各的特点,一般来说javascript能够运行在不同平台上,比如能够同时在windows系统的ie、linux的ns、mazilla等浏览器上运行,而vbscript则只能在windows系统的ie上运行,因此javascript适合做客户端脚本用途,而vbscript本身是asp的默认脚本语言,它适合在服务器端运行,个从总结jscript的用处,数据有效性验证,开发基于web的应用框架。

具体来说,将客户端和服务端流程分开描述即为,服务端首先服务从git源码服务器上检出到当前最新源码,采用mvn工具进行编译成class文件;获取上次更新时间;对比从上次更新到目前更新时间的代码提交日志,识别出在这短时间更新和新增加的文件和目录,根据配置的雅安客户端地址,推送更新文件;客户端收到服务端的推送请求,检查到由服务端发送的,收取服务端推送的文件,并按照服务端的格式创建文件目录和文件来进行存储,在运行环境中,找到需要替换与新增的文件与文件目录,按照时间戳创建备份文件目录,拷贝现有运行的文件与目录到备份文件目录中,把需要更新的文件与目录,替换到对应的运行目录中,然后重启运行环境服务,最后一步返回完成更新状态。服务端收到更新完成状态,更新到系统发布更新日志中,完成本次更新。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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