CN103530137B - 一种Java web应用部署方法及装置 - Google Patents
一种Java web应用部署方法及装置 Download PDFInfo
- Publication number
- CN103530137B CN103530137B CN201310544738.XA CN201310544738A CN103530137B CN 103530137 B CN103530137 B CN 103530137B CN 201310544738 A CN201310544738 A CN 201310544738A CN 103530137 B CN103530137 B CN 103530137B
- Authority
- CN
- China
- Prior art keywords
- release plan
- deployment
- database
- source code
- plan
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 18
- 238000012856 packing Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005538 encapsulation Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 abstract description 5
- 238000001303 quality assessment method Methods 0.000 abstract description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种Java应用部署方法及装置,在用户创建发布计划后,后续对发布计划的处理直至将待发布产物上传给目标主机的过程,是自动执行的,并无需人工参与。这样,一方面,过程简单,而且避免了由于人工部署操作而存在的遗漏部署或者重复部署的风险;另一方面,避免了人为的误操作或者重复发布的出现,从而提高了软件产品的质量,加快了软件产品的交付时间。并且,通过将部署操作信息记录在数据库中,保证了部署质量的评估和监控得以实现。
Description
技术领域
本发明涉及Java web应用开发技术,尤指一种Java web应用部署方法及装置。
背景技术
在Java web应用开发过程中,当开发人员完成代码设计,需要将其实现的增量功能部署到测试环境或者生产环境,通常,发布部署过程是由人工操作完成的。人工完成部署的过程大致包括:根据用户增量包ID,从版本管理仓库(SVN)获取增量源代码文件;用户利用编译工具,手工输入命令,对获得的增量源代码文件进行编译并打包;通过用户操作,使用FTP协议,将打包后的文件上传到目标环境主机。
可见,现有针对Java web应用的部署操作由人工完成,一方面,过程繁琐,而且人工部署操作存在遗漏部署或者重复部署的风险,并且部署操作没有记录,无法进行部署质量的评估和监控;另一方面,随着Java web应用的扩大而不断增加复杂度和工作量,人为的误操作或者重复发布将不可避免的出现,都会降低软件产品的质量,拖延软件产品的交付时间。
发明内容
为了解决上述技术问题,本发明提供了一种Java web应用部署方法及装置,能够简单地实现Java web应用的部署,从而提高软件产品的质量;并且能够保证部署质量的评估和监控得以实现。
为了达到本发明目的,本发明提供了一种Java应用部署方法,包括:
根据用户创建的发布计划中的增量包ID,从SVN中获取增量源代码文件;对获得的增量源代码文件进行编译并打包;使用文件传输协议FTP,将打包后的文件上传到目标环境主机;
将编译部署日志写入数据库;
处理编译部署日志,生成部署结果并存入数据库,将部署结果展现给用户。
该方法之前还包括:
所述用户通过预先设置的用户界面创建发布计划并运行创建的发布计划;在发布计划中包括有待发布的增量包标识。
所述用户界面还包括:查询发布计划、新增即创建发布计划、修改发布计划、删除发布计划,运行发布计划,并查看发布进度和发布结果。
所述编译部署日志包括:发布计划的创建时间、运行时间和结束时间;当前发布计划从SVN获取得到的源代码列表;当前发布计划调用Ant命令行工具执行编译脚本的输出日志;当前发布计划执行打包操作的输出日志;当前发布计划通过FTP上传到目标环境主机的输出日志。
所述处理编译部署日志,生成部署结果包括:将所述发布计划的编译部署日志从数据库抽取出来,过滤得到本次发布执行的关键信息,将关键信息转换封装为html格式的网页文件存储在数据库中。
所述关键信息包括:发布文件列表、java编译结果、打包结果和FTP上传结果。
本发明还提供一种Java应用部署装置,包括用户模块、获取模块、编译模块、上传模块、日志处理模块,以及数据库;其中,
用户模块,用于提供用户和敏捷部署工具的交互界面,用户创建发布计划并运行创建的发布计划,将包含有增量包标识的发布计划输出给获取模块;显示来自日志处理模块的html格式的网页文件;
获取模块,用于根据用户创建的发布计划中的增量包ID,从SVN中获取增量源代码文件,将获得的增量源代码文件输出给编译模块,将获得的源代码列表存储到数据库中;
编译模块,用于对获得的增量源代码文件进行编译并打包,并将生成的可部署的归档包输出给上传模块;将编译产生的编译部署日志存储到数据库中;
上传模块,用于使用FTP协议,将打包后生成的可部署的归档包上传到目标环境主机,将FTP上传日志存储到数据库中;
日志处理模块,用于将所述发布计划的编译部署日志从数据库抽取出来,过滤得到本次发布执行的关键信息,将关键信息转换封装为html格式的网页文件存储在数据库中。
所述用户模块,还用于查询发布计划、新增即创建发布计划、修改发布计划、删除发布计划,运行发布计划,并查看发布进度和发布结果。
与现有技术相比,本发明技术方案在用户创建发布计划后,后续对发布计划的处理直至将待发布产物上传给目标主机的过程,是自动执行的,并无需人工参与。这样,一方面,过程简单,而且避免了由于人工部署操作而存在的遗漏部署或者重复部署的风险;另一方面,避免了人为的误操作或者重复发布的出现,从而提高了软件产品的质量,加快了软件产品的交付时间。并且,通过将部署操作信息记录在数据库中,保证了部署质量的评估和监控得以实现。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明Java web应用部署方法的流程图;
图2为本发明Java web应用部署装置的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明Java web应用部署方法的流程图,如图1所示,包括:
步骤100:根据用户创建的发布计划中的增量包ID,从SVN中获取增量源代码文件;对获得的增量源代码文件进行编译并打包;使用文件传输协议(FTP),将打包后的文件上传到目标环境主机。
本步骤中,用户可以通过预先设置的用户界面创建发布计划并运行创建的发布计划。在发布计划中包括有待发布的增量包标识(ID)。其中,用户界面如web页面,用于提供用户和敏捷部署工具的交互界面。通过操作web页面,用户可以查询发布计划、新增即创建发布计划、修改发布计划、删除发布计划,运行发布计划,并查看发布进度和发布结果等。对于用户界面的设置属于本领域技术人员的惯用技术手段,这里不再赘述。
本步骤中的从SVN中获取增量源代码文件,即获取待发布的Java web应用源文件,包括java源代码文件、配置文件和页面文件。这里强调的是,根据用户输入的增量包标识ID,从版本管理仓库(支持大多数版本管理工具,如SVN,CVS)获取该增量包的全部内容。增量包内容包括:程序源代码和配置文件(Java,html,xml)等。
本步骤中的对获得的增量源代码文件进行编译并打包,即编译、打包Javaweb应用程序。Java编译环境为当前工程提供了一个统一完备的Java全量工作目录。当前需要发布的增量程序包拷贝到Java全量工作目录时,调用Ant命令行工具运行编译脚本,即可对当前增量包的Java应用程序进行编译、打包,并生成可部署的归档包,通常是增量war文件。
本步骤中的使用FTP协议,将打包后生成的可部署的归档包上传到目标环境主机,即将编译并打包后的待发布产物,通常是增量war文件,包含.class、.html、.xml等格式文件,通过FTP上传到目标环境的主机上。
本步骤强调的是,在用户创建发布计划后,后续对发布计划的处理直至将待发布产物上传给目标主机的过程,是自动执行的,并无需人工参与。这样,一方面,过程简单,而且避免了由于人工部署操作而存在的遗漏部署或者重复部署的风险;另一方面,避免了人为的误操作或者重复发布的出现,从而提高了软件产品的质量,加快了软件产品的交付时间。
步骤101:将编译部署日志写入数据库。
数据库,用于储存敏捷部署工具运行所需的数据、编译部署日志。其中,
敏捷部署工具运行所需的数据包括:目标环境主机的地址和配置信息、SVN源代码仓库的地址、和用户认证信息;
编译部署日志是运行期产生的信息,包括:发布计划的创建时间、运行时间和结束时间;当前发布计划从SVN获取得到的源代码列表;当前发布计划调用Ant命令行工具执行编译脚本的输出日志;当前发布计划执行打包操作的输出日志;当前发布计划通过FTP上传到目标环境主机的输出日志。
本步骤中,将部署操作信息记录在数据库中,保证了部署质量的评估和监控得以实现。
步骤102:处理编译部署日志,生成部署结果并存入数据库。
本步骤中,将当前发布计划的编译部署日志从数据库抽取出来,过滤得到本次发布执行的关键信息,包括发布文件列表、java编译结果、打包结果和FTP上传结果等文本信息;将这些关键信息转换封装为html格式的网页文件存储在数据库中并在用户界面展现。
本发明技术方案在用户创建发布计划后,后续对发布计划的处理直至将待发布产物上传给目标主机的过程,是自动执行的,并无需人工参与。这样,一方面,过程简单,而且避免了由于人工部署操作而存在的遗漏部署或者重复部署的风险;另一方面,避免了人为的误操作或者重复发布的出现,从而提高了软件产品的质量,加快了软件产品的交付时间。并且,通过将部署操作信息记录在数据库中,保证了部署质量的评估和监控得以实现。
图2为本发明Java web应用部署装置的组成结构示意图,如图2所示,包括用户模块、获取模块、编译模块、上传模块、日志处理模块,以及数据库;其中,
用户模块,用于提供用户和敏捷部署工具的交互界面,用户可以通过用户模块查询发布计划、新增即创建发布计划、修改发布计划、删除发布计划,运行发布计划,并查看发布进度和发布结果。当用户通过创建模块创建发布计划并运行创建的发布计划,将包含有增量包标识的发布计划输出给获取模块;显示来自日志处理模块的html格式的网页文件。
获取模块,用于根据用户创建的发布计划中的增量包ID,从SVN中获取增量源代码文件,将获得的增量源代码文件输出给编译模块,将获得的源代码列表存储到数据库中。
编译模块,用于对获得的增量源代码文件进行编译并打包,并将生成的可部署的归档包输出给上传模块;将编译产生的编译部署日志存储到数据库中。
上传模块,用于使用FTP协议,将打包后生成的可部署的归档包上传到目标环境主机,将FTP上传日志存储到数据库中。
日志处理模块,用于将所述发布计划的编译部署日志从数据库抽取出来,过滤得到本次发布执行的关键信息,将关键信息转换封装为html格式的网页文件存储在数据库中。内容是本次发布计划执行得到的需要展示给用户的关键信息,包括发布文件列表、java编译结果、打包结果和FTP上传结果等文本信息。
数据库,用于储存编译部署日志及部署结果。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (5)
1.一种Java应用部署方法,其特征在于,包括:
用户通过预先设置的用户界面创建发布计划并运行创建的发布计划;在发布计划中包括有待发布的增量包标识;
根据用户创建的发布计划中的增量包标识ID,从版本管理仓库SVN中获取增量源代码文件,所述增量源代码文件包括java源代码文件、配置文件和页面文件;对获得的增量源代码文件进行编译并打包;使用文件传输协议FTP,将打包后的文件上传到目标环境主机;其中,用户创建发布计划后,后续对发布计划的处理直至将待发布产物上传给目标主机的过程,是自动执行的;
将编译部署日志写入数据库,所述数据库用于储存敏捷部署工具运行所需的数据、编译部署日志,敏捷部署工具运行所需的数据包括:目标环境主机的地址和配置信息、SVN源代码仓库的地址、和用户认证信息;所述编译部署日志包括:发布计划的创建时间、运行时间和结束时间;当前发布计划从SVN获取得到的源代码列表;当前发布计划调用Ant命令行工具执行编译脚本的输出日志;当前发布计划执行打包操作的输出日志;当前发布计划通过FTP上传到目标环境主机的输出日志;
处理编译部署日志,生成部署结果并存入数据库,将部署结果展现给用户;所述处理编译部署日志,生成部署结果包括:将所述发布计划的编译部署日志从数据库抽取出来,过滤得到本次发布执行的关键信息,将关键信息转换封装为html格式的网页文件存储在数据库中。
2.根据权利要求1所述的Java应用部署方法,其特征在于,所述用户界面还包括:查询发布计划、新增即创建发布计划、修改发布计划、删除发布计划,运行发布计划,并查看发布进度和发布结果。
3.根据权利要求1所述的Java应用部署方法,其特征在于,所述关键信息包括:发布文件列表、java编译结果、打包结果和FTP上传结果。
4.一种Java应用部署装置,其特征在于,包括用户模块、获取模块、编译模块、上传模块、日志处理模块,以及数据库;其中,
用户模块,用于提供用户和敏捷部署工具的交互界面,用户创建发布计划并运行创建的发布计划,将包含有增量包标识的发布计划输出给获取模块;显示来自日志处理模块的html格式的网页文件;
获取模块,用于根据用户创建的发布计划中的增量包标识ID,从版本管理仓库SVN中获取增量源代码文件,将获得的增量源代码文件输出给编译模块,将获得的源代码列表存储到数据库中;所述增量源代码文件包括java源代码文件、配置文件和页面文件;
编译模块,用于对获得的增量源代码文件进行编译并打包,并将生成的可部署的归档包输出给上传模块;将编译产生的编译部署日志存储到数据库中,所述数据库用于储存敏捷部署工具运行所需的数据、编译部署日志,敏捷部署工具运行所需的数据包括:目标环境主机的地址和配置信息、SVN源代码仓库的地址、和用户认证信息;所述编译部署日志包括:发布计划的创建时间、运行时间和结束时间;当前发布计划从SVN获取得到的源代码列表;当前发布计划调用Ant命令行工具执行编译脚本的输出日志;当前发布计划执行打包操作的输出日志;当前发布计划通过FTP上传到目标环境主机的输出日志;
上传模块,用于使用FTP协议,将打包后生成的可部署的归档包上传到目标环境主机,将FTP上传日志存储到数据库中;其中,用户创建发布计划后,后续对发布计划的处理直至将待发布产物上传给目标主机的过程,是自动执行的;
日志处理模块,用于将所述发布计划的编译部署日志从数据库抽取出来,过滤得到本次发布执行的关键信息,将关键信息转换封装为html格式的网页文件存储在数据库中。
5.根据权利要求4所述的Java应用部署装置,其特征在于,所述用户模块,还用于查询发布计划、新增即创建发布计划、修改发布计划、删除发布计划,运行发布计划,并查看发布进度和发布结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310544738.XA CN103530137B (zh) | 2013-11-05 | 2013-11-05 | 一种Java web应用部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310544738.XA CN103530137B (zh) | 2013-11-05 | 2013-11-05 | 一种Java web应用部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530137A CN103530137A (zh) | 2014-01-22 |
CN103530137B true CN103530137B (zh) | 2017-10-27 |
Family
ID=49932177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310544738.XA Active CN103530137B (zh) | 2013-11-05 | 2013-11-05 | 一种Java web应用部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530137B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487843B (zh) * | 2014-09-15 | 2019-07-02 | 上海天脉聚源文化传媒有限公司 | 一种WebApp开发部署方法及系统 |
CN105511895A (zh) * | 2014-09-24 | 2016-04-20 | 中兴通讯股份有限公司 | 运行环境的配置方法及装置、系统 |
CN104320469B (zh) * | 2014-10-29 | 2018-04-17 | 北京思特奇信息技术股份有限公司 | 一种基于svn的增量变化数据分析下载方法及系统 |
CN105224358A (zh) * | 2015-09-07 | 2016-01-06 | 浪潮集团有限公司 | 一种云计算下软件自动打包部署的系统及方法 |
CN105224326A (zh) * | 2015-09-30 | 2016-01-06 | 北京恒华伟业科技股份有限公司 | 一种系统代码的增量部署方法及装置 |
CN105391791A (zh) * | 2015-11-26 | 2016-03-09 | 努比亚技术有限公司 | 升级系统及其升级方法 |
CN105511933A (zh) * | 2015-12-03 | 2016-04-20 | 深圳市创维软件有限公司 | 一种源代码的编译方法及相关设备 |
CN105893260A (zh) * | 2016-03-31 | 2016-08-24 | 上海携程商务有限公司 | 呼叫中心的自动化发布系统和方法 |
CN106547832A (zh) * | 2016-08-03 | 2017-03-29 | 贵阳朗玛信息技术股份有限公司 | 一种信息编译方法及装置 |
CN106919398A (zh) * | 2017-03-06 | 2017-07-04 | 山东浪潮云服务信息科技有限公司 | 一种软件发布方法及装置 |
CN107678969B (zh) * | 2017-10-18 | 2021-04-02 | 阿里巴巴(中国)有限公司 | 测试版本发布方法、装置、版本控制设备和测试机 |
CN111488140B (zh) * | 2019-01-29 | 2023-10-27 | 杭州海康威视数字技术股份有限公司 | 一种支持多编程语言多编程库的方法、装置和计算机设备 |
CN109814889B (zh) * | 2019-01-30 | 2022-12-23 | 北京百度网讯科技有限公司 | 用于更新源代码库的方法和装置 |
CN110336695A (zh) * | 2019-06-21 | 2019-10-15 | 威富通科技有限公司 | 一种部署和维护应用的方法和服务器 |
CN110471650B (zh) * | 2019-07-11 | 2022-08-09 | 新华三大数据技术有限公司 | 一种Web Service发布方法、装置及服务器 |
CN111913716A (zh) * | 2020-08-11 | 2020-11-10 | 上海毅博电子商务有限责任公司 | 一种对Java Web应用的增量部署方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035892A (zh) * | 2010-12-23 | 2011-04-27 | 中科方德软件有限公司 | 操作系统版本自动发布和软件包自动更新的系统及方法 |
CN103294514A (zh) * | 2013-06-26 | 2013-09-11 | 深圳Tcl新技术有限公司 | 系统软件版本集成方法、编译服务器及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070240145A1 (en) * | 2006-03-01 | 2007-10-11 | Sbc Knowledge Ventures L.P. | Method and system for java application administration and deployment |
US8584087B2 (en) * | 2009-12-11 | 2013-11-12 | Sap Ag | Application configuration deployment monitor |
CN102520952A (zh) * | 2011-12-14 | 2012-06-27 | 北京佳讯飞鸿电气股份有限公司 | 软件代码版本自动构建及发布方法 |
-
2013
- 2013-11-05 CN CN201310544738.XA patent/CN103530137B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035892A (zh) * | 2010-12-23 | 2011-04-27 | 中科方德软件有限公司 | 操作系统版本自动发布和软件包自动更新的系统及方法 |
CN103294514A (zh) * | 2013-06-26 | 2013-09-11 | 深圳Tcl新技术有限公司 | 系统软件版本集成方法、编译服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103530137A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530137B (zh) | 一种Java web应用部署方法及装置 | |
CN102289378B (zh) | 自动生成应用程序的方法 | |
CN103136406B (zh) | 可视化应用程序自动生成仿真用函数代码的方法 | |
US8005788B2 (en) | System and method for legacy system component incremental migration | |
CN102368216B (zh) | 一种基于项目自动构造的流程实现方法 | |
CN103838584B (zh) | 一种移动终端应用的开发方法及装置 | |
CN105718251A (zh) | 多语言sdk自动化实现方法及系统 | |
WO2020015191A1 (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN108037927A (zh) | 开发包打包方法、系统、可读存储介质和计算机设备 | |
CN104714788A (zh) | 一种软件安装包自动生成的方法及装置 | |
CN102722370A (zh) | Android模块化开发方法 | |
CN103473108A (zh) | 一种Java代码生成方法 | |
CN104346184A (zh) | 应用打包装置及方法 | |
CN104298534B (zh) | 基于Lua语言的编程方法和装置 | |
CN104572238A (zh) | 一种高效的生成可执行软件包的方法及系统 | |
CN105224358A (zh) | 一种云计算下软件自动打包部署的系统及方法 | |
CN104090946A (zh) | 应用安装包中添加信息的方法及装置 | |
CN111209001A (zh) | 批量生成安卓各渠道apk的方法、系统、设备和介质 | |
WO2022217889A1 (zh) | 一种基于c#语言的抓具配置系统、方法、装置和存储介质 | |
CN105468428A (zh) | 一种安卓源代码编译方法及系统 | |
CN102289774A (zh) | 金融交易处理系统中的图形化报文处理与测试系统及方法 | |
CN105260169A (zh) | 一种跨平台移植python程序的方法及装置 | |
CN104536398A (zh) | 一种变频器监控方法和系统 | |
CN112835587B (zh) | 一种编译集成方法及装置 | |
CN109933325A (zh) | 一种dex文件构建方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |