一种软件自动化增量交付方法及装置制造方法及图纸

技术编号:31023087 阅读:9 留言:0更新日期:2021-11-30 03:17
本申请公开了一种软件自动化增量交付方法及装置,方法包括:获得增量代码数据;在增量代码数据符合提交规则的情况下,基于增量代码数据记录代码提交信息;查询是否存在可以交付的任务信息,所述任务信息包括任务号;若存在,基于任务号在代码提交信息中确定与任务号对应的软件版本号;将软件版本号对应的增量变更数据合并到待打包的分支,并从待打包的分支中导出增量变更集;对增量变更集进行处理,实现增量变更集的打包和部署。上述方案在提交代码时就记录了代码提交信息,从而为实现自动化增量交付提供了可能;增量交付流程中的获取代码、打包、部署等处理的都是增量变更集,因此处理效率相对于全量交付更快。理效率相对于全量交付更快。理效率相对于全量交付更快。

【技术实现步骤摘要】
一种软件自动化增量交付方法及装置


[0001]本专利技术涉及计算机
,更具体的说,是涉及一种软件自动化增量交付方法及装置。

技术介绍

[0002]高质量、快速的产品交付能力一直是软件产品的核心竞争力之一,也是软件工程领域持续改进的方向。软件生命周期中,在开发测试、发布生产阶段往往存在大量的软件版本迭代、交付。随着敏捷开发、DevOps理念的推广,当前软件交付的方式一般都是通过Maven、Ant、Gradle等构建工具手工打包或在Jenkins等CI工具中将相应的命令配置成流水线进行全量打包交付。
[0003]软件交付主要由两大部分内容组成,即打包和部署,提升软件交付能力也通常从这两方面内容入手。当前的软件打包和部署技术,多是使用自动化的技术或/和工具,将软件交付的步骤由手工执行转变为自动化执行,本质上解决的是交付自动化的问题。这种方式虽然能在一定程度上提升交付能力,但在面对大型传统项目时,由于大型传统项目动辄上百兆甚至更多的代码量,使得全量交付时会面临诸如下载代码耗时长、编译代码困难、交付物庞大等各种问题,导致其能提升的交付能力有限。

技术实现思路

[0004]有鉴于此,本专利技术提供如下技术方案:
[0005]一种软件自动化增量交付方法,包括:
[0006]获得增量代码数据;
[0007]在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;
[0008]查询是否存在可以交付的任务信息,所述任务信息包括任务号;
[0009]若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;
[0010]将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;
[0011]对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
[0012]可选的,所述提交规则包括:提交代码的日志包括变更管理系统中的任务号、提交代码的任务号满足预设需求、版本库分支满足预设需求和满足自动增量交付的前提条件。
[0013]可选的,通过在配置管理工具中设置提交前钩子实现所述增量代码数据的提交规则的校验。
[0014]可选的,通过在配置管理工具中设置提交后钩子实现代码提交信息的记录。
[0015]可选的,通过编写构建脚本实现所述待打包的分支的创建。
[0016]可选的,在所述将所述软件版本号对应的增量变更数据合并到待打包的分支后,
还包括:
[0017]将增量变更数据合并完成的状态更新到所述代码提交信息。
[0018]可选的,所述待打包的分支中的代码与所述软件版本号对应软件需要部署的环境对应。
[0019]可选的,所述对所述增量变更集进行处理,实现所述增量变更集的打包和部署,包括:
[0020]使用构建工具编写构建脚本,对所述增量变更集进行编译构建,生成符合部署打包要求的目录结构及文件;
[0021]使用构建工具打包编译好的增所述目录结构及文件,生成增量交付物;
[0022]使用部署工具将所述增量交付物传输到待部署环境中进行部署。
[0023]可选的,在所述使用构建工具将所述增量交付物传输到待部署环境中进行部署前,还包括:
[0024]对所述待部署环境进行备份。
[0025]一种软件自动化增量交付装置,包括:
[0026]代码获取模块,用于获得增量代码数据;
[0027]信息记录模块,用于在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;
[0028]任务查询模块,用于查询是否存在可以交付的任务信息,所述任务信息包括任务号;
[0029]版本号确定模块,用于在所述任务查询模块的查询结果为存在时,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;
[0030]数据合并模块,用于将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;
[0031]打包部署模块,用于对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
[0032]经由上述的技术方案可知,与现有技术相比,本专利技术实施例公开了一种软件自动化增量交付方法及装置,方法包括:获得增量代码数据;在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息;查询是否存在可以交付的任务信息,所述任务信息包括任务号;若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;对所述增量变更集进行处理,实现所述增量变更集的打包和部署。上述方案在提交代码时就记录了代码提交信息,从而为实现自动化增量交付提供了可能;增量交付流程中的获取代码、打包、部署等处理的都是增量变更集,因此处理效率相对于全量交付更快。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0034]图1为本申请实施例公开的一种软件自动化增量交付方法的流程图;
[0035]图2为本专利技术实施例公开的增量交付前的准备工作流程示意图;
[0036]图3为本专利技术实施例公开的增量交付的流程示意图;
[0037]图4为本专利技术实施例公开的增量变更集的打包和部署流程图;
[0038]图5为本专利技术实施例公开的一种软件自动化增量交付装置的结构示意图。
具体实施方式
[0039]为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
[0040]变更管理:是指项目组织为适应项目运行过程中与项目相关的各种因素的变化,保证项目目标的实现而对项目计划进行相应的部分变更或全部变更,并按变更后的要求组织项目实施的过程。
[0041]变更管理系统:常见的有ClearQuest、Mantis、Jira、Bugfree等。
[0042]配置管理工具:常见的有ClearCase、Subversion、Git等。
[0043]钩子:一个处理消息的程序段,本文特指配置管理工具中的钩子程序,常见的有提交前钩子pre

commit hooks、提交后钩子post

commithooks。
[0044]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件自动化增量交付方法,其特征在于,包括:获得增量代码数据;在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;查询是否存在可以交付的任务信息,所述任务信息包括任务号;若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;对所述增量变更集进行处理,实现所述增量变更集的打包和部署。2.根据权利要求1所述的软件自动化增量交付方法,其特征在于,所述提交规则包括:提交代码的日志包括变更管理系统中的任务号、提交代码的任务号满足预设需求、版本库分支满足预设需求和满足自动增量交付的前提条件。3.根据权利要求1所述的软件自动化增量交付方法,其特征在于,通过在配置管理工具中设置提交前钩子实现所述增量代码数据的提交规则的校验。4.根据权利要求1所述的软件自动化增量交付方法,其特征在于,通过在配置管理工具中设置提交后钩子实现代码提交信息的记录。5.根据权利要求1所述的软件自动化增量交付方法,其特征在于,通过编写构建脚本实现所述待打包的分支的创建。6.根据权利要求1所述的软件自动化增量交付方法,其特征在于,在所述将所述软件版本号对应的增量变更数据合并到待打包的分支后,还包括:将增量变更数据合并完成的状态更新到所述代码提交信息。7.根据权利要求1所述的软件自动化增量交付方法,...

【专利技术属性】
技术研发人员:周波
申请(专利权)人:合众人寿保险股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1