CN111913716A - 一种对Java Web应用的增量部署方法 - Google Patents
一种对Java Web应用的增量部署方法 Download PDFInfo
- Publication number
- CN111913716A CN111913716A CN202010800486.2A CN202010800486A CN111913716A CN 111913716 A CN111913716 A CN 111913716A CN 202010800486 A CN202010800486 A CN 202010800486A CN 111913716 A CN111913716 A CN 111913716A
- Authority
- CN
- China
- Prior art keywords
- warehouse
- distributed
- environment
- java web
- deployment method
- 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
Images
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
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种对Java Web应用的增量部署方法,包括以下步骤:步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;步骤S2,在所述开发环境上编译Java Web源文件,将编译结果全部加入所述分布式仓库并提交修改;步骤S3,将所述开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。其中的分布式仓库采用git仓库,由于git只传输增量差异部分,所以可巧妙实现只将有差异的文件更新到应用环境中,不仅达到了系统升级,同时具有加快部署发布过程、实现秒级更新,节省时间、宽带和存储空间的效果。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及一种对Java Web应用的增量部署方法。
背景技术
随着互联网的发展,Web应用已成为开发应用程序类型的首选,深深影响到移动开发、桌面开发、嵌入式开发等领域。Java编程语言是Web应用开发的主流编程语言。开发完的Java Web应用需要部署用于测试或上线,后续还有不断的迭代更新,高效的应用部署将有效地提升开发、测试和运营效率。
现有的技术中,现有技术:Java Web应用部署上线时,一般是开发环境内编译得到的所有文件打包(生成war文件),复制上传到服务器的应用环境中。
上述中的现有技术方案存在以下缺陷:当前Java Web开发常常引入大量的第三方组件包,全量打包往往非常大,达到数百兆字节。每次部署或升级应用系统均需要上传全量文件,会消耗很多时间、带宽和存储空间。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种对Java Web应用的增量部署方法,其只推送再次编译后有变化的文件,即实现自动增量更新,具有加快部署发布过程、实现秒级更新,节省时间、宽带和存储空间的效果。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种对Java Web应用的增量部署方法,包括以下步骤:
步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;
步骤S2,在所述开发环境上编译Java Web源文件,将编译结果全部加入所述分布式仓库并提交修改;
步骤S3,将所述开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。
本发明在一较佳示例中可以进一步配置为:所述分布式仓库配置为git仓库。
本发明在一较佳示例中可以进一步配置为:利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM)来实现Java Web应用程序增量部署的方法。
综上所述,本发明包括以下至少一种有益技术效果:
1.本发明使用增量部署法,利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM),例如git工具,在开发环境和应用环境内建立两个分布式仓库,部署时将开发环境内编译后的所有文件添加到git仓库,并向应用环境发起推送。由于git只传输增量差异部分,所以可巧妙实现只将有差异的文件更新到应用环境中,达到系统升级效果。
2.除了首次部署时需要传输所有内容到应用环境,在日后频繁的更新升级中,通过增量部署法,只推送再次编译后有变化的文件,即实现自动增量更新。在发布包中,程序库往往占绝大多数空间,比如100MB大小的发布包,频繁变化的部分往往只占1%甚至更少。因而增量更新可极大的加快部署发布过程,可实现秒级更新。而一般在公网环境下部署则需要1-5分钟,在耗时、带宽、存储空间方面可提升20到100倍性能。
3.由于版本管理工具均支持回退功能,一旦部署发布的版本有问题,可以实现秒级回退到之前版本。
附图说明
图1为现有技术中Java Web应用部署上线的关系示意图。
图2为本发明展示增量内容传输的流程简图。
图3为本发明的流程简图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
参照图1,为本发明公开的一种对Java Web应用的增量部署方法,包括以下步骤:
步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;
步骤S2,在开发环境上编译Java Web源文件,将编译结果全部加入分布式仓库并提交修改;
步骤S3,将开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。
进一步的,分布式仓库配置为git仓库,利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM)来实现Java Web应用程序增量部署的方法。
除了首次部署时需要传输所有内容到应用环境,在日后频繁的更新升级中,通过增量部署法,只推送再次编译后有变化的文件,即实现自动增量更新。在发布包中,程序库往往占绝大多数空间,比如100M的发布包,频繁变化的部分往往只占1%甚至更少。
因而增量更新可极大的加快部署发布过程,可实现秒级更新。而一般在公网环境下部署则需要1-5分钟,在耗时、带宽、存储空间方面可提升20到100倍性能。由于版本管理工具均支持回退功能,一旦部署发布的版本有问题,可以实现秒级回退到之前版本。
本实施例的实施原理为:本发明使用增量部署法,利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM),例如git工具,在开发环境和应用环境内建立两个分布式仓库,部署时将开发环境内编译后的所有文件添加到git仓库,并向应用环境发起推送。由于git只传输增量差异部分,所以可巧妙实现只将有差异的文件更新到应用环境中,达到系统升级效果。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。
Claims (3)
1.一种对Java Web应用的增量部署方法,其特征在于:包括以下步骤:
步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;
步骤S2,在所述开发环境上编译Java Web源文件,将编译结果全部加入所述分布式仓库并提交修改;
步骤S3,将所述开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。
2.根据权利要求1所述的一种对Java Web应用的增量部署方法,其特征在于:所述分布式仓库配置为git仓库。
3.根据权利要求2所述的一种对Java Web应用的增量部署方法,其特征在于:利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM)的更新或推送方法来实现Java Web应用程序增量部署的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010800486.2A CN111913716A (zh) | 2020-08-11 | 2020-08-11 | 一种对Java Web应用的增量部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010800486.2A CN111913716A (zh) | 2020-08-11 | 2020-08-11 | 一种对Java Web应用的增量部署方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111913716A true CN111913716A (zh) | 2020-11-10 |
Family
ID=73283830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010800486.2A Pending CN111913716A (zh) | 2020-08-11 | 2020-08-11 | 一种对Java Web应用的增量部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913716A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
US10061834B1 (en) * | 2014-10-31 | 2018-08-28 | Amazon Technologies, Inc. | Incremental out-of-place updates for datasets in data stores |
CN109144548A (zh) * | 2018-08-27 | 2019-01-04 | 杭州安恒信息技术股份有限公司 | 一种基于git实现的多组件软件升级方法、装置及服务器 |
CN110096289A (zh) * | 2019-06-28 | 2019-08-06 | 奥特酷智能科技(南京)有限公司 | 自动驾驶异构平台开发环境的快速部署方法 |
-
2020
- 2020-08-11 CN CN202010800486.2A patent/CN111913716A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
US10061834B1 (en) * | 2014-10-31 | 2018-08-28 | Amazon Technologies, Inc. | Incremental out-of-place updates for datasets in data stores |
CN109144548A (zh) * | 2018-08-27 | 2019-01-04 | 杭州安恒信息技术股份有限公司 | 一种基于git实现的多组件软件升级方法、装置及服务器 |
CN110096289A (zh) * | 2019-06-28 | 2019-08-06 | 奥特酷智能科技(南京)有限公司 | 自动驾驶异构平台开发环境的快速部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577475B (zh) | 一种数据中心集群系统的软件包管理方法及系统 | |
US7757226B2 (en) | Method and mechanism for performing a rolling upgrade of distributed computer software | |
US7555750B1 (en) | Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets | |
CN103701930A (zh) | 一种移动应用程序的实时更新方法及系统 | |
US8341609B2 (en) | Code generation in the presence of paged memory | |
US10114745B2 (en) | Assisted garbage collection in a virtual machine | |
US20150178054A1 (en) | Executable code for constrained computing environments | |
CN102725730A (zh) | 用于静态键入的基于类的面向对象的软件的非阻挡动态更新的方法、计算机程序产品和系统 | |
CN105100191A (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN102422266A (zh) | 构建和更新运行时刻环境的系统和方法 | |
CN105045631A (zh) | 一种升级客户端侧应用程序的方法和装置 | |
EP1269309B1 (en) | Preloading of classes in a data processing device that does not have a virtual memory manager | |
CN101095111A (zh) | 一种维护计算装置中的应用程序的方法 | |
CN111176625B (zh) | 一种在浏览器端高效编译Solidity智能合约的方法 | |
US7600223B2 (en) | Abstracted managed code execution | |
CN105468428A (zh) | 一种安卓源代码编译方法及系统 | |
CN105205178A (zh) | 一种多进程访问内存数据库系统 | |
Andersson et al. | Dynamic code update in JDrums | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN111913716A (zh) | 一种对Java Web应用的增量部署方法 | |
Yokote et al. | Reflective object management in the Muse operating system | |
CN117707543A (zh) | 一种应用安装包制作和安装方法、计算设备及存储介质 | |
CN101169726A (zh) | 基于MTD分区的嵌入式Linux系统在线升级方法 | |
CN111831323A (zh) | 容器化的增量持续交付方法 | |
WO2023121904A1 (en) | Processing a user query |
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 |