发布包自动生成方法及装置.pdf

上传人:bo****18 文档编号:6096548 上传时间:2019-04-10 格式:PDF 页数:9 大小:547.60KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610789877.2

申请日:

2016.08.30

公开号:

CN106325881A

公开日:

2017.01.11

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/44申请日:20160830|||公开

IPC分类号:

G06F9/44; G06F9/445; G06F9/45

主分类号:

G06F9/44

申请人:

泰康保险集团股份有限公司

发明人:

陈利军

地址:

100031 北京市西城区复兴门内大街156号泰康人寿大厦

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

陈文香;刘芳

PDF下载: PDF下载
内容摘要

本发明提供一种发布包自动生成方法及装置,发布包自动生成装置自动从SVN获取至少一个代码文件进行编译、自动从编译文件中获取目标编译文件,最后自动根据目标编译文件生成发布包并发布。该过程中,从代码文件到编译文件、再到发布包的生成均是自动执行的过程,无需人工参与,实现行高效、正确的生成发布包的目的。

权利要求书

1.一种发布包自动生成方法,其特征在于,包括:
对至少一个代码文件分别进行编译,生成至少一个编译文件;
从所述至少一个编译文件中自动获取待目标编译文件;
根据所述目标编译文件,自动生成发布包。
2.根据权利要求1所述的方法,其特征在于,所述从所述至少一个编译文件中自动获取
目标编译文件,包括:
获取第一清单列表与第二清单列表,所述第一清单列表包含所述至少一个代码文件中
各代码文件与变更号的对应关系,所述第二清单列表包含所述目标编译文件对应的代码文
件与变更号的对应关系;
根据所述第二清单列表中的变更号,查询所述第一清单列表,从而从所述至少一个编
译文件中自动获取所述目标编译文件。
3.根据权利要求1所述的方法,其特征在于,所述从所述至少一个编译文件中自动获取
目标编译文件之后,还包括:
将所述目标编译文件存储至第一路径对应的目录下,所述目标编译文件至少为一个,
各所述目标编译文件的第一路径不同或相同;
所述根据所述目标编译文件,自动生成发布包,包括:
根据所述第一路径获取所述至少一个目标编译文件,根据所述至少一个目标编译文
件,自动生成所述发布包,将所述发布包存储至第二路径对应的目录下。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述对至少一个代码文件分别
进行编译,生成至少一个编译文件之前,还包括:
从版本管理系统SVN中获取所述至少一个代码文件。
5.根据权利要求1~3任一项所述的方法,其特征在于,所述根据所述目标编译文件,自
动生成发布包之后,还包括:
发布所述发布包。
6.一种发布包自动生成工具,其特征在于,包括:
编译模块,用于对至少一个代码文件分别进行编译,生成至少一个编译文件;
自动获取模块,用于从所述至少一个编译文件中自动获取待目标编译文件;
自动生成模块,用于根据所述目标编译文件,自动生成发布包。
7.根据权利要求6所述的发布包自动生成工具,其特征在于,
所述自动获取模块,具体用于获取第一清单列表与第二清单列表,所述第一清单列表
包含所述至少一个代码文件中各代码文件与变更号的对应关系,所述第二清单列表包含所
述目标编译文件对应的代码文件与变更号的对应关系,根据所述第二清单列表中的变更
号,查询所述第一清单列表,从而从所述至少一个编译文件中自动获取所述目标编译文件。
8.根据权利要求6所述的发布包自动生成工具,其特征在于,还包括:
存储模块,用于在所述自动获取模块从所述至少一个编译文件中自动获取目标编译文
件之后,将所述目标编译文件存储至第一路径对应的目录下,所述目标编译文件至少为一
个,各所述目标编译文件的第一路径不同或相同;
所述自动生成模块,用于根据所述第一路径获取所述至少一个目标编译文件,根据所
述至少一个目标编译文件,自动生成所述发布包,将所述发布包存储至第二路径对应的目
录下。
9.根据权利要求6~8任一项所述的发布包自动生成工具,其特征在于,
所述自动获取模块,还用于在所述编译模块对至少一个代码文件分别进行编译,生成
至少一个编译文件之前,从版本管理系统SVN中获取所述至少一个代码文件。
10.根据权利要求6~8任一项所述的发布包自动生成工具,其特征在于,还包括:
发布模块,用于在所述自动生成模块根据所述目标编译文件,自动生成发布包之后,发
布所述发布包。

说明书

发布包自动生成方法及装置

技术领域

本发明涉及发布包技术,尤其涉及一种发布包自动生成方法及装置。

背景技术

当前,各种系统、应用软件在人们的生活和工作中起到越来越重要的作用,每种系
统、应用软件也会因为功能的改进和漏洞的修补,需要不断的进行升级。升级时,软件开发
人员制作新的发布包,将新的发布包发布出去,从而完成对发布包的发包。

发布包发布过程中,软件开发人员按照人为流程操作,人为选取新的代码,对代码
进行编译从而生成发布包进行发布。

上述发布过程中,由于是按照人为的操作进行,效率低下,且不可避免出现丢文
件、发布包版本错误等问题,导致发布包的发布无法正确、高效的进行。

发明内容

本发明提供一种发布包自动生成方法及装置,通过自动生成发布包,实现行高效、
正确的生成发布包的目的。

第一方面,本发明实施例提供一种发布包自动生成方法,包括:

从所述至少一个编译文件中自动获取待目标编译文件;

根据所述目标编译文件,自动生成发布包。

可选的,在本发明一实施例中,所述从所述至少一个编译文件中自动获取目标编
译文件,包括:

获取第一清单列表与第二清单列表,所述第一清单列表包含所述至少一个代码文
件中各代码文件与变更号的对应关系,所述第二清单列表包含所述目标编译文件对应的代
码文件与变更号的对应关系;

根据所述第二清单列表中的变更号,查询所述第一清单列表,从而从所述至少一
个编译文件中自动获取所述目标编译文件。

可选的,在本发明一实施例中,所述从所述至少一个编译文件中自动获取目标编
译文件之后,还包括:

将所述目标编译文件存储至第一路径对应的目录下,所述目标编译文件至少为一
个,各所述目标编译文件的第一路径不同或相同;

所述根据所述目标编译文件,自动生成发布包,包括:

根据所述第一路径获取所述至少一个目标编译文件,根据所述至少一个目标编译
文件,自动生成所述发布包,将所述发布包存储至第二路径对应的目录下。

可选的,在本发明一实施例中,所述对至少一个代码文件分别进行编译,生成至少
一个编译文件之前,还包括:

从版本管理系统SVN中获取所述至少一个代码文件。

可选的,在本发明一实施例中,所述根据所述目标编译文件,自动生成发布包之
后,还包括:

发布所述发布包。

第二方面,本发明实施例提供一种发布包自动生成工具,包括:

编译模块,用于对至少一个代码文件分别进行编译,生成至少一个编译文件;

自动获取模块,用于从所述至少一个编译文件中自动获取待目标编译文件;

自动生成模块,用于根据所述目标编译文件,自动生成发布包。

可选的,在本发明一实施例中,所述自动获取模块,具体用于获取第一清单列表与
第二清单列表,所述第一清单列表包含所述至少一个代码文件中各代码文件与变更号的对
应关系,所述第二清单列表包含所述目标编译文件对应的代码文件与变更号的对应关系,
根据所述第二清单列表中的变更号,查询所述第一清单列表,从而从所述至少一个编译文
件中自动获取所述目标编译文件。

可选的,在本发明一实施例中,上述的发布包自动生成工具还包括:

存储模块,用于在所述自动获取模块从所述至少一个编译文件中自动获取目标编
译文件之后,将所述目标编译文件存储至第一路径对应的目录下,所述目标编译文件至少
为一个,各所述目标编译文件的第一路径不同或相同;

所述自动生成模块,用于根据所述第一路径获取所述至少一个目标编译文件,根
据所述至少一个目标编译文件,自动生成所述发布包,将所述发布包存储至第二路径对应
的目录下。

可选的,在本发明一实施例中,所述自动获取模块,还用于在所述编译模块对至少
一个代码文件分别进行编译,生成至少一个编译文件之前,从版本管理系统SVN中获取所述
至少一个代码文件。

可选的,在本发明一实施例中,上述的发布包自动生成工具还包括:

发布模块,用于在所述自动生成模块根据所述目标编译文件,自动生成发布包之
后,发布所述发布包。

本发明实施例提供的发布包自动生成方法及装置,发布包自动生成装置自动从
SVN获取至少一个代码文件进行编译、自动从编译文件中获取目标编译文件,最后自动根据
目标编译文件生成发布包并发布。该过程中,从代码文件到编译文件、再到发布包的生成均
是自动执行的过程,无需人工参与,实现行高效、正确的生成发布包的目的。

附图说明

为了更清楚地说明本发明方法实施例的技术方案,下面将对实施例描述中所需要
使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明方法的一些实施例,
对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。

图1为本发明发布包自动生成方法所适用的系统的架构示意图;

图2为本发明发布包自动生成方法的流程图;

图3为本发明发布包自动生成装置实施例一的结构示意图;

图4为本发明发布包自动生成装置实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没
有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第
四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这
些过程、方法、产品或设备固有的其它步骤或单元。

图1为本发明发布包自动生成方法所适用的系统的架构示意图。如图1所示,该系
统包括:版本管理系统(SubVersion,SVN)、发布包自动生成装置、数据库与应用服务器,发
布包自动生成装置分别与SVN、数据库、应用服务器建立通信连接。其中,SVN是一个开放源
代码的版本控制服务器,软件开发人员在开发好代码后,将代码文件提交至SVN;发布包自
动生成装置自动从SVN获取至少一个代码文件进行编译、自动从编译文件中获取目标编译
文件,最后自动根据目标编译文件生成发布包进行发布至应用服务器。发布包自动生成装
置还将生成的发布包、包含生成发布包的目标编译文件对应的代码文件与变更号对应关系
的清单列表等存储在数据库中,从而进行数据备份。另外,数据库还用于存储发布包的发布
环境等。下面,在图1的基础上,从发布包自动生成工具的角度出发,对本发明发布包自动生
成方法进行详细说明。具体的,请参见图2,图2为本发明发布包自动生成方法的流程图,包
括:

101、对至少一个代码文件分别进行编译,生成至少一个编译文件。

本发明实施例中,SVN至少包括INT库与UAT库,软件开发人员在开发好代码后,按
时间抽取当天要发布的代码文件,将抽取到的代码文件发送至UAT库。或者,软件开发人员
在开发好代码后,将代码文件提交至INT库,发布包自动生成装置按照为每个软件开发人员
简历的账户,遍历INT库,按时间抽取当天要发布的代码文件,将抽取到的代码文件发送至
UAT库。然后,发布包自动生成装置从UAT库中获取至少一个代码文件,对获取到的代码文件
进行编译,生成至少一个编译文件。

编译过程中,对于每一个代码文件,发布包自动生成工具调用软件开发工具包,如
Java开发工具集(Java Development Kit,JDK)对代码文件进行编译。

102、从所述至少一个编译文件中自动获取待目标编译文件。

本步骤中,发布包自动生成装置从至少一个编译文件中,自动获取目标编译文件,
即生成发布包所需的编译文件。例如,发布包自动生成装置从SVN获取第一清单列表与第二
清单列表,该第一清单列表包含至少一个代码文件中各代码文件与变更号的对应关系,第
二清单列表包含目标编译文件对应的代码文件与变更号的对应关系,然后,根据第二清单
列表中的变更号,查询第一清单列表,从而从至少一个编译文件中自动获取目标编译文件。
再如,发布包自动生成装置从SVN获取第一清单列表,从需求变更系统上获取第二清单列
表,然后,根据这两个清单列表中的变更号,从至少一个编译文件中自动获取目标编译文
件。其中,需求变更系统是一个提需求的系统,其可以与SVN集成设置,也可以单独设置。开
发人员根据本次发布的发布包相当于上一次发布的发布包的变更生成第二清单列表提交
至需求变更系统,从而使得发布包自动生成工具从需求变更系统获取第二清单列表。

103、根据所述目标编译文件,自动生成发布包。

本步骤中,发布包自动生成工具对所有的目标编译文件进行整合处理,自动生成
发布包。

在生成发布包之后,将发布包的版本、发布环境等记录存入数据库中。例如,数据
库中指定的表,该表用于记录发布包的版本、发布环境、相当于上次发布包的更新内容等。
后续开发中,软件开发人员只需通过查询数据块中的表,即可了解发布包的历史操作。

本发明实施例提供的发布包自动生成方法,发布包自动生成装置自动从SVN获取
至少一个代码文件进行编译、自动从编译文件中获取目标编译文件,最后自动根据目标编
译文件生成发布包并发布。该过程中,从代码文件到编译文件、再到发布包的生成均是自动
执行的过程,无需人工参与,实现行高效、正确的生成发布包的目的。

可选的,上述实施例中,从至少一个编译文件中自动获取待目标编译文件之后,发
布包自动生成工具将目标编译文件存储至第一路径,目标编译文件至少为一个,各目标编
译文件的第一路径不同或相同,根据第一路径获取至少一个目标编译文件,根据至少一个
目标编译文件,自动生成发布包。

具体的,对于每个代码文件,发布包自动生成装置对该代码文件进行编译后,将编
译好的文件,即编译文件发送至第一路径对应的目录下。当代码文件为多个时,每个代码文
件对应一个第一路径,该些第一路径可以相同或不同。然后,当选定模板编译文件后,根据
第一路径获取到目标编译文件,根据各个目标编译文件自动生成发布包并存储至第二路径
对应的目录下。

可选的,在本发明一实施例中,生成发布包后,发布包自动生成装置对发布包进行
发布。发布过程中,发布包自动生成装置调用远程文件传输协议(File Transfer
Protocol,FTP)的Java代码,通过Java代码查询数据库以获取发布包的存储路径(即第二路
径)以及发布该发布包的应用服务器的路径。在获取到发布包的存储路径和应用服务器的
路径后,到存储路径指定的目录下获取发布包,并根据应用服务器的路径,将发布包上传至
应用服务器从而进行发布。

发布过程中,发布包自动生成装置通过远程命令控制应用服务器,控制应用服务
器加载发布包、执行清理缓存文件、关闭应用服务器、重启应用服务器。接着,发布包自动生
成装置启动监控程序,监控应用服务器是否重启成功,若应用服务器重启成功,则发布包成
功发布,结束本次发布;若应用服务器重启不成功,则将应用服务器的发布包退回至前一个
版本,重新启动应用服务器。

图3为本发明发布包自动生成装置实施例一的结构示意图。本实施例提供的发布
包自动生成装置,其可实现本发明任意实施例提供的应用于发布包自动生成装置侧的方法
的各个步骤。具体的,本实施例提供的发布包自动生成装置包括:

编译模块11,用于对至少一个代码文件分别进行编译,生成至少一个编译文件;

自动获取模块12,用于从所述至少一个编译文件中自动获取待目标编译文件;

自动生成模块13,用于根据所述目标编译文件,自动生成发布包。

本发明实施例提供的发布包自动生成装置,自动从SVN获取至少一个代码文件进
行编译、自动从编译文件中获取目标编译文件,最后自动根据目标编译文件生成发布包并
发布。该过程中,从代码文件到编译文件、再到发布包的生成均是自动执行的过程,无需人
工参与,实现行高效、正确的生成发布包的目的。

可选的,在本发明一实施例中,所述自动获取模块12,具体用于获取第一清单列表
与第二清单列表,所述第一清单列表包含所述至少一个代码文件中各代码文件与变更号的
对应关系,所述第二清单列表包含所述目标编译文件对应的代码文件与变更号的对应关
系,根据所述第二清单列表中的变更号,查询所述第一清单列表,从而从所述至少一个编译
文件中自动获取所述目标编译文件。

图4为本发明发布包自动生成装置实施例二的结构示意图,请参照图4,本发明实
施例提供的发布包自动生成装置在上述图3的基础上,进一步的,还包括:

存储模块14,用于在所述自动获取模块12从所述至少一个编译文件中自动获取目
标编译文件之后,将所述目标编译文件存储至第一路径对应的目录下,所述目标编译文件
至少为一个,各所述目标编译文件的第一路径不同或相同;

所述自动生成模块13,用于根据所述第一路径获取所述至少一个目标编译文件,
根据所述至少一个目标编译文件,自动生成所述发布包,将所述发布包存储至第二路径对
应的目录下。

可选的,在本发明一实施例中,所述自动获取模块12,还用于在所述编译模块11对
至少一个代码文件分别进行编译,生成至少一个编译文件之前,从版本管理系统SVN中获取
所述至少一个代码文件。

再请参照图4,在本发明一实施例中,上述的发布包自动生成装置还包括:发布模
块15,用于在所述自动生成模块13根据所述目标编译文件,自动生成发布包之后,发布所述
发布包。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通
过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程
序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或
者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽
管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进
行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。

发布包自动生成方法及装置.pdf_第1页
第1页 / 共9页
发布包自动生成方法及装置.pdf_第2页
第2页 / 共9页
发布包自动生成方法及装置.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《发布包自动生成方法及装置.pdf》由会员分享,可在线阅读,更多相关《发布包自动生成方法及装置.pdf(9页珍藏版)》请在专利查询网上搜索。

本发明提供一种发布包自动生成方法及装置,发布包自动生成装置自动从SVN获取至少一个代码文件进行编译、自动从编译文件中获取目标编译文件,最后自动根据目标编译文件生成发布包并发布。该过程中,从代码文件到编译文件、再到发布包的生成均是自动执行的过程,无需人工参与,实现行高效、正确的生成发布包的目的。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1