CN107908406A - web项目穿透性自动更新部署的方法 - Google Patents
web项目穿透性自动更新部署的方法 Download PDFInfo
- Publication number
- CN107908406A CN107908406A CN201711189593.0A CN201711189593A CN107908406A CN 107908406 A CN107908406 A CN 107908406A CN 201711189593 A CN201711189593 A CN 201711189593A CN 107908406 A CN107908406 A CN 107908406A
- Authority
- CN
- China
- Prior art keywords
- server
- file
- client
- penetrability
- renewal
- 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/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了web项目穿透性自动更新部署的方法,包括客户端与服务端,客户端运行在发布的客户服务器上,服务端运行在发布服务端服务器上,本发明关键点是服务端可以对已经运行的客户端进行远程自动更新与备份,能实时监控各个运行服务器的版本状况,优化服务更新过程,节省人力物力,穿透服务器防火墙配置来进行部署更新功能,更为便捷与简单。通过服务端根据时间判定获得了编译文件后,对识别文件进行对比,在对比后,选择更新后的文件发送至客户端内,客户端进行验证后,接收更新的文件,并进行文件备份的更新。
Description
技术领域
本发明涉及一种自动更新部署的方法,具体涉及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文件;获取上次更新时间;对比从上次更新到目前更新时间的代码提交日志,识别出在这短时间更新和新增加的文件和目录,根据配置的雅安客户端地址,推送更新文件;客户端收到服务端的推送请求,检查到由服务端发送的,收取服务端推送的文件,并按照服务端的格式创建文件目录和文件来进行存储,在运行环境中,找到需要替换与新增的文件与文件目录,按照时间戳创建备份文件目录,拷贝现有运行的文件与目录到备份文件目录中,把需要更新的文件与目录,替换到对应的运行目录中,然后重启运行环境服务,最后一步返回完成更新状态。服务端收到更新完成状态,更新到系统发布更新日志中,完成本次更新。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.web项目穿透性自动更新部署的方法,包括客户端与服务端,客户端运行在发布的客户服务器上,服务端运行在发布服务端服务器上,其特征在于,所述方法包括以下步骤:
S1:服务端在源码库中读取对应时间段的源码,并编译服务器可识别的文件类型比对更新日志,查找在更新时间段内有变化的文件,根据变化的文件,找到对应的编译之后的文件,并按照服务项目目录结构建立对应的文件结构,根据配置的客户端地址,推送更新内容
S2:客户服务器上,主要处理服务端推送的数据和对当前系统数据处理,客户端先安装在用户能通过HTTP协议访问的服务器上,并开启端口,等待服务端的推送数据;
S3:客户端接收到数据推送内容请求时,根据验证规则来判定数据来源是否合法,接收更新数据文件,根据传递的参数,创建文件存储目录并存放文件;
S4:客户端根据新文件的目录与名称,找到原来的文件,创建备份文件目录,备份原来的文件,新文件替换到运行环境目录中,并重启服务。
2.根据权利要求1所述的web项目穿透性自动更新部署的方法,其特征在于,所述步骤S1中的编译采用MVN工具进行编译成CLASS文件。
3.根据权利要求1所述的web项目穿透性自动更新部署的方法,其特征在于,所述步骤S2中的推送的更新内容在发送后会进行反馈,反馈成功,服务完成,反馈结果失败,服务端提示客户端回滚更新数据。
4.根据权利要求1所述的web项目穿透性自动更新部署的方法,其特征在于,所述步骤S3中的验证规则采用JavaScript脚本进行验证。
5.根据权利要求1所述的web项目穿透性自动更新部署的方法,其特征在于,所述步骤S3中的验证规则采用VBScript脚本进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711189593.0A CN107908406A (zh) | 2017-11-24 | 2017-11-24 | web项目穿透性自动更新部署的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711189593.0A CN107908406A (zh) | 2017-11-24 | 2017-11-24 | web项目穿透性自动更新部署的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908406A true CN107908406A (zh) | 2018-04-13 |
Family
ID=61847677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711189593.0A Pending CN107908406A (zh) | 2017-11-24 | 2017-11-24 | web项目穿透性自动更新部署的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908406A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814889A (zh) * | 2019-01-30 | 2019-05-28 | 北京百度网讯科技有限公司 | 用于更新源代码库的方法和装置 |
CN109995869A (zh) * | 2019-04-08 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种远程自动下载文件的方法、装置、设备及存储介质 |
CN111273926A (zh) * | 2020-01-14 | 2020-06-12 | 一飞智控(天津)科技有限公司 | 机场客户端远程升级管理方法、系统、存储介质、无人机 |
CN111628889A (zh) * | 2020-05-11 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 热部署方法及装置、电子设备和存储介质 |
CN113282423A (zh) * | 2021-07-14 | 2021-08-20 | 中电金信软件有限公司 | 部署方法、系统及计算机可读存储介质 |
CN115174505A (zh) * | 2022-06-29 | 2022-10-11 | 中航机载系统共性技术有限公司 | 一种企业即时消息发布系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212336A (zh) * | 2006-12-28 | 2008-07-02 | 上海广电Nec液晶显示器有限公司 | 一种客户端自动更新软件的方法及辅助方法以及相应装置 |
CN102195804A (zh) * | 2011-03-10 | 2011-09-21 | 易程(苏州)软件股份有限公司 | 软件自动更新方法及其系统 |
CN105468404A (zh) * | 2015-11-16 | 2016-04-06 | 广州日滨科技发展有限公司 | 一种支架控制器程序远程更新方法及装置 |
US20160188316A1 (en) * | 2014-12-31 | 2016-06-30 | Guangzhou Ucweb Computer Technology Co., Ltd. | Method and apparatus for software update management |
CN107239269A (zh) * | 2016-03-29 | 2017-10-10 | 中兴通讯股份有限公司 | 一种软件增量升级方法、装置和运营支撑系统 |
-
2017
- 2017-11-24 CN CN201711189593.0A patent/CN107908406A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212336A (zh) * | 2006-12-28 | 2008-07-02 | 上海广电Nec液晶显示器有限公司 | 一种客户端自动更新软件的方法及辅助方法以及相应装置 |
CN102195804A (zh) * | 2011-03-10 | 2011-09-21 | 易程(苏州)软件股份有限公司 | 软件自动更新方法及其系统 |
US20160188316A1 (en) * | 2014-12-31 | 2016-06-30 | Guangzhou Ucweb Computer Technology Co., Ltd. | Method and apparatus for software update management |
CN105468404A (zh) * | 2015-11-16 | 2016-04-06 | 广州日滨科技发展有限公司 | 一种支架控制器程序远程更新方法及装置 |
CN107239269A (zh) * | 2016-03-29 | 2017-10-10 | 中兴通讯股份有限公司 | 一种软件增量升级方法、装置和运营支撑系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814889A (zh) * | 2019-01-30 | 2019-05-28 | 北京百度网讯科技有限公司 | 用于更新源代码库的方法和装置 |
CN109995869A (zh) * | 2019-04-08 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种远程自动下载文件的方法、装置、设备及存储介质 |
CN111273926A (zh) * | 2020-01-14 | 2020-06-12 | 一飞智控(天津)科技有限公司 | 机场客户端远程升级管理方法、系统、存储介质、无人机 |
CN111628889A (zh) * | 2020-05-11 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 热部署方法及装置、电子设备和存储介质 |
CN111628889B (zh) * | 2020-05-11 | 2023-04-07 | Oppo(重庆)智能科技有限公司 | 热部署方法及装置、电子设备和存储介质 |
CN113282423A (zh) * | 2021-07-14 | 2021-08-20 | 中电金信软件有限公司 | 部署方法、系统及计算机可读存储介质 |
CN113282423B (zh) * | 2021-07-14 | 2021-11-16 | 中电金信软件有限公司 | 部署方法、系统及计算机可读存储介质 |
CN115174505A (zh) * | 2022-06-29 | 2022-10-11 | 中航机载系统共性技术有限公司 | 一种企业即时消息发布系统及方法 |
CN115174505B (zh) * | 2022-06-29 | 2024-04-23 | 中航机载系统共性技术有限公司 | 一种企业即时消息发布系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908406A (zh) | web项目穿透性自动更新部署的方法 | |
US10515005B1 (en) | Systems and methods for testing source code | |
KR101278743B1 (ko) | 서버 팜에서의 솔루션 배치 | |
CN107317724B (zh) | 基于云计算技术的数据采集系统及方法 | |
US11561784B2 (en) | Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms | |
CN104899047B (zh) | 网页框架部署方法和系统 | |
US20170116421A1 (en) | Security vulnerabilities | |
US7886035B2 (en) | Profile service based deployment configuration | |
US20160103662A1 (en) | Collaborative development of software programs based on service invocations | |
CN101996108B (zh) | 一种分布式环境的备份和恢复方法及其系统 | |
US9779126B2 (en) | Hybrid database upgrade migration | |
US20230054760A1 (en) | Deployment strategies for continuous delivery of software rtifacts in cloud platforms | |
KR20050120643A (ko) | 비-침해 자동 오프사이트 패치 지문채취 및 업데이팅시스템 및 방법 | |
US11113045B2 (en) | Image install of a network appliance | |
JP2004272908A (ja) | システムの設計、展開、管理のフェーズを統合する方法 | |
US9548891B2 (en) | Configuration of network devices | |
US20160246582A1 (en) | Generic Semantic Configuration Service | |
US11392366B1 (en) | Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms | |
CN103136478B (zh) | 一种终端应用的安全管理方法及系统 | |
US11349958B1 (en) | Deployment of software releases on datacenters configured in cloud platforms | |
US11140144B2 (en) | IoT data collection system, IoT data collection method, management device, management program, agent device, and agent program | |
US20220179629A1 (en) | Software release orchestration for continuous delivery of features in a cloud platform based data center | |
EP2438709B1 (en) | Network element integration | |
US20130041925A1 (en) | Silent Migration of Business Process Binaries | |
US11403145B1 (en) | Enforcing system configuration freeze of services deployed via continuous delivery on datacenters configured in cloud platforms |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180413 |