CN113703721A - 一种软件自动化增量交付方法及装置 - Google Patents

一种软件自动化增量交付方法及装置 Download PDF

Info

Publication number
CN113703721A
CN113703721A CN202111014347.8A CN202111014347A CN113703721A CN 113703721 A CN113703721 A CN 113703721A CN 202111014347 A CN202111014347 A CN 202111014347A CN 113703721 A CN113703721 A CN 113703721A
Authority
CN
China
Prior art keywords
incremental
code
task
software
delivery
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
Application number
CN202111014347.8A
Other languages
English (en)
Inventor
周波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
United Life Insurance Co ltd
Original Assignee
United Life Insurance Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by United Life Insurance Co ltd filed Critical United Life Insurance Co ltd
Priority to CN202111014347.8A priority Critical patent/CN113703721A/zh
Publication of CN113703721A publication Critical patent/CN113703721A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

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)
  • Stored Programmes (AREA)

Abstract

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

Description

一种软件自动化增量交付方法及装置
技术领域
本发明涉及计算机技术领域,更具体的说,是涉及一种软件自动化增量交付方法及装置。
背景技术
高质量、快速的产品交付能力一直是软件产品的核心竞争力之一,也是软件工程领域持续改进的方向。软件生命周期中,在开发测试、发布生产阶段往往存在大量的软件版本迭代、交付。随着敏捷开发、DevOps理念的推广,当前软件交付的方式一般都是通过Maven、Ant、Gradle等构建工具手工打包或在Jenkins等CI工具中将相应的命令配置成流水线进行全量打包交付。
软件交付主要由两大部分内容组成,即打包和部署,提升软件交付能力也通常从这两方面内容入手。当前的软件打包和部署技术,多是使用自动化的技术或/和工具,将软件交付的步骤由手工执行转变为自动化执行,本质上解决的是交付自动化的问题。这种方式虽然能在一定程度上提升交付能力,但在面对大型传统项目时,由于大型传统项目动辄上百兆甚至更多的代码量,使得全量交付时会面临诸如下载代码耗时长、编译代码困难、交付物庞大等各种问题,导致其能提升的交付能力有限。
发明内容
有鉴于此,本发明提供如下技术方案:
一种软件自动化增量交付方法,包括:
获得增量代码数据;
在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;
查询是否存在可以交付的任务信息,所述任务信息包括任务号;
若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;
将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;
对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
可选的,所述提交规则包括:提交代码的日志包括变更管理系统中的任务号、提交代码的任务号满足预设需求、版本库分支满足预设需求和满足自动增量交付的前提条件。
可选的,通过在配置管理工具中设置提交前钩子实现所述增量代码数据的提交规则的校验。
可选的,通过在配置管理工具中设置提交后钩子实现代码提交信息的记录。
可选的,通过编写构建脚本实现所述待打包的分支的创建。
可选的,在所述将所述软件版本号对应的增量变更数据合并到待打包的分支后,还包括:
将增量变更数据合并完成的状态更新到所述代码提交信息。
可选的,所述待打包的分支中的代码与所述软件版本号对应软件需要部署的环境对应。
可选的,所述对所述增量变更集进行处理,实现所述增量变更集的打包和部署,包括:
使用构建工具编写构建脚本,对所述增量变更集进行编译构建,生成符合部署打包要求的目录结构及文件;
使用构建工具打包编译好的增所述目录结构及文件,生成增量交付物;
使用部署工具将所述增量交付物传输到待部署环境中进行部署。
可选的,在所述使用构建工具将所述增量交付物传输到待部署环境中进行部署前,还包括:
对所述待部署环境进行备份。
一种软件自动化增量交付装置,包括:
代码获取模块,用于获得增量代码数据;
信息记录模块,用于在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;
任务查询模块,用于查询是否存在可以交付的任务信息,所述任务信息包括任务号;
版本号确定模块,用于在所述任务查询模块的查询结果为存在时,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;
数据合并模块,用于将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;
打包部署模块,用于对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种软件自动化增量交付方法及装置,方法包括:获得增量代码数据;在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息;查询是否存在可以交付的任务信息,所述任务信息包括任务号;若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;对所述增量变更集进行处理,实现所述增量变更集的打包和部署。上述方案在提交代码时就记录了代码提交信息,从而为实现自动化增量交付提供了可能;增量交付流程中的获取代码、打包、部署等处理的都是增量变更集,因此处理效率相对于全量交付更快。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种软件自动化增量交付方法的流程图;
图2为本发明实施例公开的增量交付前的准备工作流程示意图;
图3为本发明实施例公开的增量交付的流程示意图;
图4为本发明实施例公开的增量变更集的打包和部署流程图;
图5为本发明实施例公开的一种软件自动化增量交付装置的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
变更管理:是指项目组织为适应项目运行过程中与项目相关的各种因素的变化,保证项目目标的实现而对项目计划进行相应的部分变更或全部变更,并按变更后的要求组织项目实施的过程。
变更管理系统:常见的有ClearQuest、Mantis、Jira、Bugfree等。
配置管理工具:常见的有ClearCase、Subversion、Git等。
钩子:一个处理消息的程序段,本文特指配置管理工具中的钩子程序,常见的有提交前钩子pre-commit hooks、提交后钩子post-commithooks。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例公开的一种软件自动化增量交付方法的流程图,参见图1所示,软件自动化交付方法可以包括:
步骤101:获得增量代码数据。
其中,增量代码数据可以包括代码数据和用于介绍代码的数据,用于介绍代码的数据例如可以是所述代码数据对应的任务号、作者、代码所述版本库等。
步骤102:在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者。
其中,所述提交规则可以但不限制为包括提交代码的日志包括变更管理系统中的任务号、提交代码的任务号满足预设需求、提交代码的版本库分支满足预设需求、满足自动增量交付的前提条件等。提交规则可以预先配置,可以由用户根据自身需求来自主设定;其作用即用于在提交代码时,校验代码提交是否符合规范、规则;一般常用的规则包括:是否有提交日志、提交日志的内容是否符合要求等。
对提交规则进行验证,可以通过在配置管理工具中设置提交前钩子实现所述增量代码数据的提交规则的校验。而基于增量代码数据记录代码提交信息,其实现可以但不限制为包括:在配置数据库中创建用于记录代码提交信息的提交记录表;实现中可通过在配置管理工具中设置提交后钩子实现代码提交信息的记录。
具体的,本申请所公开的软件自动化增量交付方法,可以通过与当前的变更管理系统、配置管理工具等集成,实现软件自动化增量交付,进而提升软件项目的交付能力尤其是适合增量交付的大型传统软件项目的交付能力。为实现上述目的,必须明确增量交付的内容,因此对每一次的提交都应该是有据可查,可以追溯的。结合配置管理工具普遍提供的钩子功能可以实现每次提交代码的信息都可以记录下来,用于支撑增量交付。
步骤103:查询是否存在可以交付的任务信息,所述任务信息包括任务号。
实现中可通过查询变更管理系统来获取可以交付的任务信息,并设置配置管理工具提交后钩子,提取代码提交的任务号。
步骤104:若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号。
若存在可以交付的任务信息,则可以进一步基于提取出的任务号从所述代码提交信息中查询出可以交付的提交版本(即所述软件版本号)、分支等信息。
步骤105:将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集。
该步骤即将待交付的提交版本合并到待交付分支中,并将所有需要交付的提交版本导出为增量变更集。实现中,可以根据需要通过编写构建脚本实现所述待打包的分支的创建。
步骤106:对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
上述方案可以与变更管理系统集成,通过查询变更管理系统数据,从配置管理工具中提取增量变更,执行自动化构建编译,对编译后的可执行文件自动打包、自动部署,实现软件自动化增量交付。
本实施例所述软件自动化增量交付方法,在提交代码时就记录了代码提交信息,从而为实现自动化增量交付提供了可能;增量交付流程中的获取代码、打包、部署等处理的都是增量变更集,因此处理效率相对于全量交付更快。
为了更好的了解本申请方案的实现,下面将介绍一个具体实现。
图2为本发明实施例公开的增量交付前的准备工作流程示意图,结合图2所示,增量交付前的准备工作可以包括:
1、实施前应当明确代码的提交规则,制定相应规范,规范提交代码的规则,规则包括不限于提交代码的日志必须包括变更管理系统中的变更任务号、提交代码的版本库分支必须满足既定需求、满足自动增量交付前提的条件等。
2、在配置管理数据库中创建提交信息记录表,用于记录代码提交信息,包括不限于:提交任务号、版本库名称、版本号、作者等。
3、在配置管理工具中设置提交前钩子(pre-commit hooks),用于校验前述代码提交规则。
4、在配置管理工具中设置提交后钩子(post-commit hooks),用于往前述提交信息记录表中写入提交数据。
5、在配置管理工具中按需创建分支,用于合并待交付的任务,获取增量变更。这里,“合并”的作用是把一次版本更新涉及到的变更聚合到一起,获取到一次版本更新涉及的所有变更数据。
增量交付过程:
增量交付过程的实现由增量交付程序实现,增量交付程序存储在存储介质中,由计算机执行增量交付程序,增量交付程序的流程如图3。需要明确的是增量交付流程中任意流程都有执行日志,任意流程如果出现错误,整体流程都会中断,执行交付的技术人员应该通过执行日志查找出错原因,采取技术手段进行干预最终解决问题。
结合图3所示,增量交付过程的主要步骤可以但不限制为包括:
1、通过定时任务触发增加交付,开始增加交付流程。
2、通过查询变更管理系统,获取满足增量交付条件的任务号,该条件通过开发规范约定。
3、根据前述获取的任务号查询配置管理数据库中的提交数据记录表,获取对应任务号提交的版本号。
4、根据前述获取的版本号执行合并,将版本号对应的增量变更合并到待打包的分支,合并完成后,修改提交数据记录表中已经合并的记录状态,然后将该分支中合并的增量变更集提交。该分支的代码与应用要部署的环境相对应。
5、从上述待打包分支中导出增量变更集到特定目录,便于后续流程使用。
6、使用构建工具根据具体需要,编写构建脚本,对上述导出的增量变更集进行编译构建,生成符合部署打包要求的目录结构及文件。
7、使用构建工具,打包编译构建好的增量变更集,生成增量交付物。
8、使用部署工具,将前述打包完成的增量交付物传输到待部署环境中,按需部署。一般在正式环境中,执行部署前应该先对待部署环境进行备份。
至此,整个增量交付流程完成。
基于以上内容,软件自动化增量交付方法中,在所述将所述软件版本号对应的增量变更数据合并到待打包的分支后,还可以包括:将增量变更数据合并完成的状态更新到所述代码提交信息。
其中,所述待打包的分支中的代码与所述软件版本号对应软件需要部署的环境对应,以保证后续能够顺利的进行增量变更集的部署。
图4为本发明实施例公开的增量变更集的打包和部署流程图,如图4所示,所述对所述增量变更集进行处理,实现所述增量变更集的打包和部署,可以包括:
步骤401:使用构建工具编写构建脚本,对所述增量变更集进行编译构建,生成符合部署打包要求的目录结构及文件。
步骤402:使用构建工具打包编译好的增所述目录结构及文件,生成增量交付物。
步骤403:使用部署工具将所述增量交付物传输到待部署环境中进行部署。
基于以上实现介绍,软件应用的一次版本更新最终会对应到多个需求任务,因为在提交代码时就通过钩子记录了每一个需求的变更内容,在交付的时候就可以在记录表中根据需求编号找到对应需求的变更。在增量交付时就可以找到增量的变更集,从而实现增量交付。
由于增量交付过程的主要步骤涉及处理的数据均为增量变更集,也即增量交付处理的对象是增量的变更代码,而全量交付要处理全量的代码,因此,本实现方案相对于全量交付,尤其对于大型传统项目,其处理效率会大大提升。例如,某公司内部系统有数万个文件,一次版本更新(增量交付)可能只会改动其中的几百个文件,也即需要处理的文件是几百个;而如果采用全量交付方式,则需要构建、打包处理数万个文件,工作量将会相当大,花费的时间也会特别久。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
图5为本发明实施例公开的一种软件自动化增量交付装置的结构示意图,参见图5所示,软件自动化增量交付装置50可以包括:
代码获取模块501,用于获得增量代码数据。
信息记录模块502,用于在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者。
任务查询模块503,用于查询是否存在可以交付的任务信息,所述任务信息包括任务号。
版本号确定模块504,用于在所述任务查询模块的查询结果为存在时,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号。
数据合并模块505,用于将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集。
打包部署模块506,用于对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
本实施例所述软件自动化增量交付装置,在提交代码时就记录了代码提交信息,从而为实现自动化增量交付提供了可能;增量交付流程中的获取代码、打包、部署等处理的都是增量变更集,因此处理效率相对于全量交付更快。
一个实现中,述提交规则包括:提交代码的日志包括变更管理系统中的任务号、提交代码的任务号满足预设需求、版本库分支满足预设需求和满足自动增量交付的前提条件。
一个实现中,通过在配置管理工具中设置提交前钩子实现所述增量代码数据的提交规则的校验。
一个实现中,通过在配置管理工具中设置提交后钩子实现代码提交信息的记录。
一个实现中,通过编写构建脚本实现所述待打包的分支的创建。
一个实现中,所述信息记录模块还用于:在数据合并模块将所述软件版本号对应的增量变更数据合并到待打包的分支后,将增量变更数据合并完成的状态更新到所述代码提交信息。
一个实现中,所述待打包的分支中的代码与所述软件版本号对应软件需要部署的环境对应。
一个实现中,所述打包部署模块具体用于:使用构建工具编写构建脚本,对所述增量变更集进行编译构建,生成符合部署打包要求的目录结构及文件;使用构建工具打包编译好的增所述目录结构及文件,生成增量交付物;使用部署工具将所述增量交付物传输到待部署环境中进行部署。
一个实现中,还包括:环境备份模块,用于在打包部署模块使用构建工具将所述增量交付物传输到待部署环境中进行部署前,对所述待部署环境进行备份。
上述实施例中的所述的任意一种软件自动化增量交付装置包括处理器和存储器,上述实施例中的代码获取模块、信息记录模块、任务查询模块、版本号确定模块、数据合并模块、打包部署模块等均作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述实施例中所述的软件自动化增量交付方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中所述的软件自动化增量交付方法。
进一步,本实施例提供了一种电子设备,包括处理器以及存储器。其中存储器用于存储所述处理器的可执行指令,所述处理器配置为经由执行所述可执行指令来执行上述实施例中所述的软件自动化增量交付方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种软件自动化增量交付方法,其特征在于,包括:
获得增量代码数据;
在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;
查询是否存在可以交付的任务信息,所述任务信息包括任务号;
若存在,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;
将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;
对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
2.根据权利要求1所述的软件自动化增量交付方法,其特征在于,所述提交规则包括:提交代码的日志包括变更管理系统中的任务号、提交代码的任务号满足预设需求、版本库分支满足预设需求和满足自动增量交付的前提条件。
3.根据权利要求1所述的软件自动化增量交付方法,其特征在于,通过在配置管理工具中设置提交前钩子实现所述增量代码数据的提交规则的校验。
4.根据权利要求1所述的软件自动化增量交付方法,其特征在于,通过在配置管理工具中设置提交后钩子实现代码提交信息的记录。
5.根据权利要求1所述的软件自动化增量交付方法,其特征在于,通过编写构建脚本实现所述待打包的分支的创建。
6.根据权利要求1所述的软件自动化增量交付方法,其特征在于,在所述将所述软件版本号对应的增量变更数据合并到待打包的分支后,还包括:
将增量变更数据合并完成的状态更新到所述代码提交信息。
7.根据权利要求1所述的软件自动化增量交付方法,其特征在于,所述待打包的分支中的代码与所述软件版本号对应软件需要部署的环境对应。
8.根据权利要求1-7任一项所述的软件自动化增量交付方法,其特征在于,所述对所述增量变更集进行处理,实现所述增量变更集的打包和部署,包括:
使用构建工具编写构建脚本,对所述增量变更集进行编译构建,生成符合部署打包要求的目录结构及文件;
使用构建工具打包编译好的增所述目录结构及文件,生成增量交付物;
使用部署工具将所述增量交付物传输到待部署环境中进行部署。
9.根据权利要求8所述的软件自动化增量交付方法,其特征在在于,在所述使用构建工具将所述增量交付物传输到待部署环境中进行部署前,还包括:
对所述待部署环境进行备份。
10.一种软件自动化增量交付装置,其特征在于,包括:
代码获取模块,用于获得增量代码数据;
信息记录模块,用于在所述增量代码数据符合提交规则的情况下,基于所述增量代码数据记录代码提交信息,所述代码提交信息至少包括任务号、版本库名称、软件版本号和作者;
任务查询模块,用于查询是否存在可以交付的任务信息,所述任务信息包括任务号;
版本号确定模块,用于在所述任务查询模块的查询结果为存在时,基于所述任务号在所述代码提交信息中确定与所述任务号对应的软件版本号;
数据合并模块,用于将所述软件版本号对应的增量变更数据合并到待打包的分支,并从所述待打包的分支中导出增量变更集;
打包部署模块,用于对所述增量变更集进行处理,实现所述增量变更集的打包和部署。
CN202111014347.8A 2021-08-31 2021-08-31 一种软件自动化增量交付方法及装置 Pending CN113703721A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111014347.8A CN113703721A (zh) 2021-08-31 2021-08-31 一种软件自动化增量交付方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111014347.8A CN113703721A (zh) 2021-08-31 2021-08-31 一种软件自动化增量交付方法及装置

Publications (1)

Publication Number Publication Date
CN113703721A true CN113703721A (zh) 2021-11-26

Family

ID=78658132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111014347.8A Pending CN113703721A (zh) 2021-08-31 2021-08-31 一种软件自动化增量交付方法及装置

Country Status (1)

Country Link
CN (1) CN113703721A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564226A (zh) * 2022-02-25 2022-05-31 深圳市云视机器人有限公司 代码部署方法、装置、电子设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564226A (zh) * 2022-02-25 2022-05-31 深圳市云视机器人有限公司 代码部署方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN107193615B (zh) 项目代码信息的更新部署方法及装置
US9940108B2 (en) Automated merging in a software development environment
US9304764B2 (en) Automated merging in a software development environment
US8010578B2 (en) Method of refactoring a running database system
CN107577469A (zh) 一种软件打包发布管理方法
CN112711411B (zh) 一种基于Kubernetes及docker的CI/CD流水线系统
CN109032631B (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
US20150154097A1 (en) System and method for automated testing
CN108897547B (zh) 一种软件自动化部署方法及装置
US9542173B2 (en) Dependency handling for software extensions
US20070234328A1 (en) File handling for test environments
CN113703721A (zh) 一种软件自动化增量交付方法及装置
CN115658128A (zh) 一种生成软件物料清单的方法、装置及存储介质
CN110990051B (zh) 软件包依赖关系的维护方法、装置、介质和设备
CN117312270A (zh) 一种数据库自动化构建和部署的变更管理方法
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN116820427A (zh) 一种软件研发项目管理方法、设备及介质
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
CN111930387B (zh) 一种集成包的集成方法及装置、电子设备和存储介质
CN114564385A (zh) 软件测试方法、装置、计算机设备和存储介质
CN115237422A (zh) 代码编译方法、装置、计算机设备和存储介质
CN114089965A (zh) 基于单体式代码仓库Monorepo的程序开发项目管理方法、装置
CN113254020A (zh) 固件自动编译打包的系统及方法
CN117348916B (zh) 脚本生成方法、装置、设备及存储介质
CN117668875A (zh) 一种软件出入库md5自动校验的方法

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