CN111930387B - 一种集成包的集成方法及装置、电子设备和存储介质 - Google Patents

一种集成包的集成方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111930387B
CN111930387B CN202011020596.3A CN202011020596A CN111930387B CN 111930387 B CN111930387 B CN 111930387B CN 202011020596 A CN202011020596 A CN 202011020596A CN 111930387 B CN111930387 B CN 111930387B
Authority
CN
China
Prior art keywords
package
application package
integration
integrated
changed
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
Application number
CN202011020596.3A
Other languages
English (en)
Other versions
CN111930387A (zh
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.)
Mushroom Car Union Information Technology Co Ltd
Original Assignee
Mushroom Car Union Information Technology 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 Mushroom Car Union Information Technology Co Ltd filed Critical Mushroom Car Union Information Technology Co Ltd
Priority to CN202011020596.3A priority Critical patent/CN111930387B/zh
Publication of CN111930387A publication Critical patent/CN111930387A/zh
Application granted granted Critical
Publication of CN111930387B publication Critical patent/CN111930387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/61Installation
    • 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

一种集成包的集成方法及装置、电子设备和存储介质
技术领域
本发明涉及自动化集成技术领域,尤其涉及一种集成包的集成方法及装置、电子设备和存储介质。
背景技术
随着应用产品的丰富发展,应用产品的种类和数量也越来越多,需要对每个应用产品的集成包进行更新和维护。
传统的集成包生成方法中,需要结合人工来生成。这样就会存在下述缺陷:无法结合项目记录归类;产品型号众多,对应不同的集成包方案,包源不可靠、共享方式不稳定、且应用包存放随意,无法做到持续且规范的维护;需要结合人工逐个操作进行打包。此种方式不仅效率低下,且依赖人工操作打包容易出现误操作,维护管理效率低。
所以,通过现有的集成包生成方法,无法对集成包方案进行稳定、高效率的管理,间接影响产品的发布效率和质量。
发明内容
本发明实施例提供一种集成包的集成方法及装置、电子设备和存储介质,用以解决现有技术中无法对集成包方案进行稳定、高效率的管理的缺陷。
本发明实施例提供一种集成包的集成方法,包括:
读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包;
将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
根据本发明一个实施例的集成包的集成方法,读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,包括:
接收创建应用包的任务,读取代码库中与所述创建应用包的任务对应的创建的目标代码进行编译和打包处理,生成对应的目标应用包,其中,所述创建应用包的任务包括:应用任务名称、分支名称、产品线以及系统版本中的至少一个。
根据本发明一个实施例的集成包的集成方法,读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,包括:
轮询代码库中的代码是否发生更新,并将更新的代码作为目标代码进行编译和打包处理,生成更新后的目标应用包。
根据本发明一个实施例的集成包的集成方法,将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域,包括:
将所述目标应用包按照属性信息分类存储至第一存储区域;
将所述目标应用包对应的变更记录按照属性信息分类存储至第二存储区域;
其中,所述属性信息包括:产品线、系统版本以及分支中的至少一个。
根据本发明一个实施例的集成包的集成方法,所述变更记录包括:打包过程中的中间变更记录和打包完成后的最终变更记录;
将所述目标应用包对应的变更记录存储至第二存储区域,包括:
在对所述目标代码进行打包的过程中,将生成的所述中间变更记录存储至第二存储区域;
在对所述目标代码打包完毕后,将生成的所述最终变更记录存储至所述第二存储区域。
根据本发明一个实施例的集成包的集成方法,根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,包括:
获取所述第二存储区域的所述目标应用包对应的变更记录,确定所述变更记录对应的集成包为待更新的集成包或待创建的集成包;
获取所述第一存储区域的目标应用包,对待更新的集成包进行更新或创建新的集成包;
对更新或创建的集成包生成标记信息,其中,所述标记信息包括:产品线名称、系统版本、方案名称、创建时间以及方案类型中的至少一种。
根据本发明一个实施例的集成包的集成方法,所述方法还包括:
接收操作指令,对所述集成包或所述应用包执行对应的操作,其中,所述操作指令包括:刷新指令、查询指令、编辑指令、下载指令以及删除指令中的至少一个。
本发明实施例还提供一种集成包的集成装置,包括:
应用包生成模块,用于读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包;
存储模块,用于将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
集成包变更模块,用于根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述集成包的集成方法的步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述集成包的集成方法的步骤。
本发明实施例提供的集成包的集成方法及装置,通过读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,将目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域,以实现目标应用包的自动生成,然后根据目标应用包对应的变更记录确定待变更的集成包,并基于目标应用包对待变更的集成包进行变更,以实现集成包的自动变更,从而通过自动化管理的方式,高效率的维护集成包方案,减少生成/更新集成包所需时间,降低人工操作出错的可能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种集成包的集成方法的流程示意图;
图2是本发明另一实施例提供的一种集成包的集成方法的流程示意图;
图3是本发明一实施例提供的应用管理界面的示意图;
图4是本发明一实施例提供的创建应用包界面的示意图;
图5是本发明一实施例提供的方案管理界面的示意图;
图6是本发明又一实施例提供的一种集成包的集成方法的具体应用示例图;
图7是本发明实施例提供的一种集成包的集成装置的结构示意图;
图8是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明一个或多个实施例。在本发明一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本发明一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明实施例中,提供了一种集成包的集成方法及装置、电子设备和非暂态计算机可读存储介质,在下面的实施例中逐一进行详细说明。
首先,对发明实施例的方法涉及的名词术语进行解释。
应用包:通过代码打包生成的文件,例如一个安卓安装包(apk)。
集成包:集成多个应用包形成一个完整方案的文件。
代码库:例如GitLab代码库,用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。开发者在编写完新的代码后,都会上传至代码库。
mysql 数据库:mysql_num_rows函数返回结果集中行的数目。mysql_num_rows是PHP语言的中的函数,其表示取得结果集中行的数目。此命令只对select语句有效。要取得被insert、update或delete查询所影响到的行的数目,用 mysql_affected_rows()命令。
本发明实施例公开了一种集成包的集成方法,参见图1,包括下述步骤101~103:
101、读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包。
本实施例中,代码由开发者编写,并上传至指定的代码库中。待打包的代码一般分两种,一种是新创建的代码,与之前已存的应用包无关联,例如开发者新开发了一个应用包;另一种是更新的代码,与之前已存的应用包有关联,例如开发者更新了一个应用包的版本。
上述两种情况下,都需要后台在GitLab代码库中进行查找,以确定变更的代码为目标代码。
在确定待打包的目标代码后,需要对目标代码进行编译和打包处理,生成对应的目标应用包。本实施例中,通过调用Jenkins工具进行编译和打包。
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台。Jenkins的功能包括:持续的软件版本发布/测试项目和监控外部调用执行的工作。通过Jenkins工具,可以保证应用包的自动生成。
102、将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域。
本实施例中,第一存储区域和第二存储区域可以根据需求而定义,本实施例中选择第一存储区域为文件服务器,从而可以将生成的应用包均上传至该文件服务器进行保存;选择第二存储区域为数据库,优选mysql数据库,以存储应用包对应的变更记录。
需要注意的是,本实施例中并未将目标应用包和对应的变更记录存储至同一存储区域,是由于二者的数据大小和数据性质有所不同,如果存储于同一存储区域,还要进一步判断获取到的数据为目标应用包数据还是变更记录数据。所以,分别存储于不同的存储区域,有利于快速读取,缩减更新时间。
103、根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
本实施例中,无需将变更的应用包均从服务器中进行下载,而是通过在数据库中的变更记录进行判断,以确定待下载的目标应用包。
在一个具体实例中,一个集成包A包括应用包A1、应用包A2、应用包A3和应用包A4。如果根据变更记录确定应用包A2发生变更,则意味着集成包A需要进行变更。将发生变更的目标应用包A2’从服务器中下载,并与原来的应用包A1、应用包A3和应用包A4进行打包,生成变更后的集成包A’。
在另一个具体实例中,存在同一个应用包属于不同的集成包的情形。例如集成包B1包括应用包B11、应用包B12和应用包B13,集成包B2包括应用包B11、应用包B21和应用包B31,如果应用包B11发生变更生成变更的目标应用包B11’,则根据变更记录确定集成包B1和集成包B2为待变更的集成包,并根据应用包B11’、应用包B12和应用包B13生成变更后的集成包B1’,根据应用包B11’、应用包B21和应用包B31生成变更后的集成包B2’。
本发明实施例提供的集成包的集成方法,通过读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,将目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域,以实现目标应用包的自动生成,然后根据目标应用包对应的变更记录确定待变更的集成包,并基于目标应用包对待变更的集成包进行变更,以实现集成包的自动变更,从而通过自动化管理的方式,高效率的维护集成包方案,减少生成/更新集成包所需时间,降低人工操作出错的可能性。
为了进一步地对本发明实施例进行说明,本发明实施例还提供了一种集成包的集成方法,参见图2,包括下述步骤201~205:
201、读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包。
对于目标应用包,包括两种:一种是创建的新应用包,另外一种是更新的应用包。
对应地,对于创建新应用包的情形,步骤201包括:接收创建应用包的任务,读取代码库中与所述创建应用包的任务对应的创建的目标代码进行编译和打包处理,生成对应的目标应用包。
其中,创建应用包的任务包括:应用任务名称、分支名称、产品线以及系统版本中的至少一个。
另外,创建应用包的任务可以为开发者在开发完一个新的应用包的代码后,在前端呈现的系统界面中主动发起。
如图3所示,图3示出了本实施例中的应用管理界面。开发者可以点选应用管理界面中的“提测”按钮,并通过图4所示的“创建应用包”界面,生成对应的创建应用包的任务。
对应地,对于更新应用包的情形,步骤201包括:轮询代码库中的代码是否发生更新,并将更新的代码作为目标代码进行编译和打包处理,生成更新后的目标应用包。
具体地,可以通过后台程序轮询检查GitLab的commit记录,并在确定代码库中的代码发生更新后,触发打包任务。其中,轮询的时间可以根据实际需求而设置,例如间隔1秒、间隔5秒等。
本实施例中,通过Jenkins工具进行编译和打包,以实现应用包的自动生成。
202、将目标应用包按照属性信息分类存储至第一存储区域,将目标应用包对应的变更记录按照属性信息分类存储至第二存储区域。
其中,属性信息可以为多种,例如包括:产品线、系统版本以及分支中的至少一个。
本实施例中,通过将目标应用包及其变更记录进行分类存储,以便于记录和管理,有利于缩短集成包生成的时间。
可选地,变更记录不仅包括打包完成后的最终变更记录,还可以在打包过程中异步生成中间变更记录,从而可以查看到打包的进度以及打包过程中的及时情况。本步骤202中,将所述目标应用包对应的变更记录存储至第二存储区域,包括下述步骤S221~S222:
S221、在对所述目标代码进行打包的过程中,将生成的所述中间变更记录存储至第二存储区域。
S222、在对所述目标代码打包完毕后,将生成的所述最终变更记录存储至所述第二存储区域。
在后续步骤中,根据目标应用包对应的变更记录确定对应的集成包的过程中,可以使用最终变更记录进行执行。
203、获取第二存储区域的目标应用包对应的变更记录,确定所述变更记录对应的集成包为待更新的集成包或待创建的集成包。
本实施例中,第二存储区域为数据库,优选mysql数据库,以存储应用包对应的变更记录。
其中,获取第二存储区域的目标应用包对应的变更记录,可以为后台主动获取,从而可以保证整个集成包自动生成的任务的执行。
例如在一个具体实例中,一个集成包C包括应用包C1、应用包C2和应用包C3。如果根据变更记录确定已存的应用包C2发生变更,则意味着集成包C需要进行更新。
再例如在另一个具体实例中,新创建的一个应用包D1,并没有已存的集成包包括该应用包,也就意味着,应当新建一个集成包D。则集成包D为待创建的集成包。此种应用场景在初次开发过程中会经常遇到。
204、获取第一存储区域的目标应用包,对待更新的集成包进行更新或创建新的集成包。
本实施例中,第一存储区域为COS文件服务器。
接上面的具体实例,将发生变更的目标应用包C2’从COS文件服务器中下载,并与原来的应用包C1和应用包C3进行打包,生成更新后的集成包C’。
对于新建集成包的情形,根据新创建的目标应用包D1,创建一个新的集成包D。
205、对更新或创建的集成包生成标记信息。
其中,所述标记信息包括:产品线名称、系统版本、方案名称、创建时间以及方案类型中的至少一种。
通过标记信息,可以在前端系统的界面中对更新或创建的集成包进行展示,可以直观地让开发者看到各个集成包的更新、创建等情况,如图5所示,图5示出了本实施例的集成包的管理界面。
另外,图5的界面中还可以提供操作按钮,以便于开发者的操作。对应地,本实施例的方法包括:接收操作指令,对所述集成包执行对应的操作,其中,所述操作指令包括:刷新指令、查询指令、编辑指令、下载指令以及删除指令中的至少一个。
本发明实施例提供的集成包的集成方法,不仅可以通过自动化管理的方式,高效率的维护集成包方案,减少生成/更新集成包所需时间,降低人工操作出错的可能性,还可以进一步地对集成包或应用包进行操作,以使开发者或者用户拥有更多的操作空间。
为了对本发明实施例的方法进一步地的说明,图6示出了本发明实施例的集成包的集成方法的一个具体应用示例图。
需要说明的是,该集成方法应用于一个集成包/应用包管理系统,并通过可视化的页面进行展示以及操作,如前述实施例的图3~图5所示。
集成包的集成方法如下:
1)开发者将编写的代码写入GitLab代码库。其中,编写的代码可以为新应用对应的代码,也可以为之前的已存应用的更新代码。
2)对于新应用对应的代码,需要开发者在前端页面上提测,以触发对代码的打包。
3)对于更新的代码,可以通过后台程序轮询GitLab代码库的commit记录,并在确定commit发生变更的情况下触发对更新代码的打包。
4)对所述目标代码进行打包,并在对目标代码进行打包的过程中,将生成的中间变更记录存储至数据库。
5)在对所述目标代码打包完毕后,将生成的最终变更记录存储至数据库。
6)将所述目标应用包存储至服务器。
7)在数据库中的应用包记录发生变更后,触发对集成包的变更:获取数据库中目标应用包对应的变更记录,确定变更记录对应的集成包为待更新的集成包或待创建的集成包。
8)下载服务器的目标应用包,对待更新的集成包进行更新或创建新的集成包。
9)对更新或创建的集成包生成标记信息。
参见图5所示的集成包的管理界面,其中,所述标记信息包括:产品线名称、系统版本、方案名称、创建时间以及方案类型中的至少一种。
10)在接收到操作指令后,还可以对集成包/应用包进行操作。
操作指令包括:刷新指令、查询指令、编辑指令、下载指令以及删除指令中的至少一个。
用户通过操作指令,可以手动下载应用包、查看应用包、删除应用包等。参见图3,图3中每个应用包的操作栏包括多个指令触发按键,例如“刷新”、“查看”、“删除”等。通过点选,可以对每个应用包进行对应的“刷新”、“查看”、“删除”的操作。
用户通过操作指令,可以手动创建方案(集成包)、维护方案(集成包)、下载方案(集成包)、查询方案(集成包)等。参见图5,图5中每个集成包的操作栏包括多个指令触发按键,例如“编辑”、“下载”、“删除”等。通过点选,可以对每个集成包进行对应的“编辑”、“下载”、“删除”的操作。
通过本实施例的集成包的集成方法,对产品迭代具有如下意义:
1)通过匹配使用者需求,结合算法精确的给出使用者所需集成包方案。
2)通过资源共享,提高资源利用率,节省空间成本。
3)通过自动化代替人工的繁琐操作,节省人工成本。
4)能够通过可视化平台直接下载,节省时间成本。
下面对本发明实施例提供的集成包的集成装置进行描述,下文描述的集成包的集成装置与上文描述的集成包的集成方法可相互对应参照。
本发明实施例提供了一种集成包的集成装置,参见图7,包括:
应用包生成模块701,用于读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包;
存储模块702,用于将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
集成包变更模块703,用于根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
可选地,应用包生成模块701,具体用于:接收创建应用包的任务,读取代码库中与所述创建应用包的任务对应的创建的目标代码进行编译和打包处理,生成对应的目标应用包,其中,所述创建应用包的任务包括:应用任务名称、分支名称、产品线以及系统版本中的至少一个。
可选地,应用包生成模块701,具体用于:轮询代码库中的代码是否发生更新,并将更新的代码作为目标代码进行编译和打包处理,生成更新后的目标应用包。
可选地,存储模块702,具体用于:将所述目标应用包按照属性信息分类存储至第一存储区域;
将所述目标应用包对应的变更记录按照属性信息分类存储至第二存储区域;
其中,所述属性信息包括:产品线、系统版本以及分支中的至少一个。
可选地,变更记录包括:打包过程中的中间变更记录和打包完成后的最终变更记录;
存储模块702,具体用于:在对所述目标代码进行打包的过程中,将生成的所述中间变更记录存储至第二存储区域;
在对所述目标代码打包完毕后,将生成的所述最终变更记录存储至所述第二存储区域。
可选地,集成包变更模块703,具体用于:
获取所述第二存储区域的所述目标应用包对应的变更记录,确定所述变更记录对应的集成包为待更新的集成包或待创建的集成包;
获取所述第一存储区域的目标应用包,对待更新的集成包进行更新或创建新的集成包;
对更新或创建的集成包生成标记信息,其中,所述标记信息包括:产品线名称、系统版本、方案名称、创建时间以及方案类型中的至少一种。
可选地,所述装置还包括:操作模块,用于接收操作指令,对集成包或应用包执行对应的操作,其中,所述操作指令包括:刷新指令、查询指令、编辑指令、下载指令以及删除指令中的至少一个。
本发明实施例提供的集成包的集成装置,通过读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,将目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域,以实现目标应用包的自动生成,然后根据目标应用包对应的变更记录确定待变更的集成包,并基于目标应用包对待变更的集成包进行变更,以实现集成包的自动变更,从而通过自动化管理的方式,高效率的维护集成包方案,减少生成/更新集成包所需时间,降低人工操作出错的可能性。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行集成包的集成方法,该方法包括:
读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包;
将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的集成包的集成方法,该方法包括:
读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包;
将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的集成包的集成方法,该方法包括:
读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包;
将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,所述集成包包括至少一个应用包。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种集成包的自动化集成方法,其特征在于,包括:
根据用户需求读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,其中,所述目标应用包通过后台程序轮询代码库的commit记录,并在确定所述commit发生变更的情况下触发对更新代码的打包;
将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更;
其中,在所述集成包包括应用包A1、应用包A2、应用包A3和应用包A4的情况下,如果根据变更记录确定应用包A2发生变更,将发生变更的目标应用包A2’从服务器中下载,并与原来的应用包A1、应用包A3和应用包A4进行打包,生成变更后的集成包A’;
和/或,在所述集成包的第一集成包包括应用包B11、应用包B12、应用包B13,第二集成包包括应用包B11、应用包B21和应用包B31的情况下,如果应用包B11发生变更生成变更的目标应用包B11’,则根据变更记录确定集成包B1和集成包B2为待变更的集成包,并根据应用包B11’、应用包B12和应用包B13生成变更后的集成包B1’,根据应用包B11’、应用包B21和应用包B31生成变更后的集成包B2’。
2.根据权利要求1所述的集成包的自动化集成方法,其特征在于,读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,包括:
接收创建应用包的任务,读取代码库中与所述创建应用包的任务对应的创建的目标代码进行编译和打包处理,生成对应的目标应用包,其中,所述创建应用包的任务包括:应用任务名称、分支名称、产品线以及系统版本中的至少一个。
3.根据权利要求1所述的集成包的自动化集成方法,其特征在于,
将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域,包括:
将所述目标应用包按照属性信息分类存储至第一存储区域;
将所述目标应用包对应的变更记录按照属性信息分类存储至第二存储区域;
其中,所述属性信息包括:产品线、系统版本以及分支中的至少一个。
4.根据权利要求1或3所述的集成包的自动化集成方法,其特征在于,所述变更记录包括:打包过程中的中间变更记录和打包完成后的最终变更记录;
将所述目标应用包对应的变更记录存储至第二存储区域,包括:
在对所述目标代码进行打包的过程中,将生成的所述中间变更记录存储至第二存储区域;
在对所述目标代码打包完毕后,将生成的所述最终变更记录存储至所述第二存储区域。
5.根据权利要求1所述的集成包的自动化集成方法,其特征在于,根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,包括:
获取所述第二存储区域的所述目标应用包对应的变更记录,确定所述变更记录对应的集成包为待更新的集成包或待创建的集成包;
获取所述第一存储区域的目标应用包,对待更新的集成包进行更新或创建新的集成包;
对更新或创建的集成包生成标记信息,其中,所述标记信息包括:产品线名称、系统版本、方案名称、创建时间以及方案类型中的至少一种。
6.根据权利要求1所述的集成包的自动化集成方法,其特征在于,所述方法还包括:
接收操作指令,对所述集成包或所述应用包执行对应的操作,其中,所述操作指令包括:刷新指令、查询指令、编辑指令、下载指令以及删除指令中的至少一个。
7.一种集成包的自动化集成装置,其特征在于,包括:
应用包生成模块,用于根据用户需求读取待打包的目标代码进行编译和打包处理,生成对应的目标应用包,其中,所述目标应用包通过后台程序轮询代码库的commit记录,并在确定所述commit发生变更的情况下触发对更新代码的打包;
存储模块,用于将所述目标应用包和对应的变更记录分别存储至第一存储区域和第二存储区域;
集成包变更模块,用于根据所述目标应用包对应的变更记录确定待变更的集成包,并基于所述目标应用包对待变更的集成包进行变更,其中,在所述集成包包括应用包A1、应用包A2、应用包A3和应用包A4的情况下,如果根据变更记录确定应用包A2发生变更,将发生变更的目标应用包A2’从服务器中下载,并与原来的应用包A1、应用包A3和应用包A4进行打包,生成变更后的集成包A’;
和/或,在所述集成包的第一集成包包括应用包B11、应用包B12应用包B13,第二集成包包括应用包B11、应用包B21和应用包B31的情况下,如果应用包B11发生变更生成变更的目标应用包B11’,则根据变更记录确定集成包B1和集成包B2为待变更的集成包,并根据应用包B11’、应用包B12和应用包B13生成变更后的集成包B1’,根据应用包B11’、应用包B21和应用包B31生成变更后的集成包B2’。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述集成包的自动化集成方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述集成包的自动化集成方法的步骤。
CN202011020596.3A 2020-09-25 2020-09-25 一种集成包的集成方法及装置、电子设备和存储介质 Active CN111930387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011020596.3A CN111930387B (zh) 2020-09-25 2020-09-25 一种集成包的集成方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011020596.3A CN111930387B (zh) 2020-09-25 2020-09-25 一种集成包的集成方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111930387A CN111930387A (zh) 2020-11-13
CN111930387B true CN111930387B (zh) 2021-01-12

Family

ID=73334187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011020596.3A Active CN111930387B (zh) 2020-09-25 2020-09-25 一种集成包的集成方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111930387B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115774573B (zh) * 2023-02-10 2023-06-30 美云智数科技有限公司 应用集成方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196824A (zh) * 2008-01-07 2008-06-11 中兴通讯股份有限公司 一种自动调整版本存储空间的方法
WO2011132173A1 (en) * 2010-04-21 2011-10-27 Nokia Corporation Method and apparatus providing for output of a content package by an application based at least in part on a context type selection and one or more contextual characteristics
CN105373595A (zh) * 2015-10-22 2016-03-02 广东欧珀移动通信有限公司 一种数据自分类存储方法及终端
CN107632827A (zh) * 2016-07-12 2018-01-26 阿里巴巴集团控股有限公司 应用的安装包的生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196824A (zh) * 2008-01-07 2008-06-11 中兴通讯股份有限公司 一种自动调整版本存储空间的方法
WO2011132173A1 (en) * 2010-04-21 2011-10-27 Nokia Corporation Method and apparatus providing for output of a content package by an application based at least in part on a context type selection and one or more contextual characteristics
CN105373595A (zh) * 2015-10-22 2016-03-02 广东欧珀移动通信有限公司 一种数据自分类存储方法及终端
CN107632827A (zh) * 2016-07-12 2018-01-26 阿里巴巴集团控股有限公司 应用的安装包的生成方法及装置

Also Published As

Publication number Publication date
CN111930387A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
US9940108B2 (en) Automated merging in a software development environment
EP2098954B1 (en) Systems and methods for template reverse engineering
EP2110781A1 (en) Method and system for automatic tracing of a computerized process using a relationship model
US20120084750A1 (en) Method for Efficiently Managing Property Types and Constraints In a Prototype Based Dynamic Programming Language
US20050177828A1 (en) Restore media build automation
CN112286829B (zh) 测试脚本生成方法及装置
EP2799981A1 (en) Method for providing code, code generator and software development environment
US20050188356A1 (en) Computer-implemented method, system and program product for comparing application program interfaces (APIs) between Java byte code releases
CN113986741A (zh) 一种组件调试方法、装置及计算机设备
CN111930387B (zh) 一种集成包的集成方法及装置、电子设备和存储介质
CN111813803A (zh) 语句块执行计划的生成方法、装置、设备和存储介质
CN112799937B (zh) 基于GitHub自动化检测Maven项目中依赖冲突问题的方法
CN111984882A (zh) 数据处理方法、系统及设备
CN112835587A (zh) 一种编译集成方法及装置
CN115904480B (zh) 代码重构方法、装置、电子设备及存储介质
CN103678687A (zh) 基于配置系统的项目创建方法及装置
CN115658069A (zh) 一种发布平台的项目打包和在线编译方法
CN115809065A (zh) 一种低代码开发平台、数据存储方法及电子设备
CN113296764B (zh) 一种基于模型驱动的idl文件生成系统、方法及终端
JP6717140B2 (ja) 解析プログラム、解析方法、及び解析装置
US8010572B1 (en) Kstore scenario simulator processor and XML file
CN113010441B (zh) 模型发布方法、装置、电子设备及存储介质
CN110221952B (zh) 业务数据的处理方法及装置、业务数据处理系统
CN113504904A (zh) 用户定义函数实现方法、装置、计算机设备和存储介质
CN113741931A (zh) 软件升级方法、装置、电子设备及可读存储介质

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
GR01 Patent grant
GR01 Patent grant