CN109144563A - 应用组件构建打包方法、装置及计算机存储介质 - Google Patents

应用组件构建打包方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN109144563A
CN109144563A CN201810697491.8A CN201810697491A CN109144563A CN 109144563 A CN109144563 A CN 109144563A CN 201810697491 A CN201810697491 A CN 201810697491A CN 109144563 A CN109144563 A CN 109144563A
Authority
CN
China
Prior art keywords
building
application component
movement
packaged
file
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
CN201810697491.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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810697491.8A priority Critical patent/CN109144563A/zh
Priority to PCT/CN2018/111666 priority patent/WO2020000810A1/zh
Publication of CN109144563A publication Critical patent/CN109144563A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用组件构建打包方法、装置及计算机存储介质,涉及信息技术领域,主要目的在于能够提高应用组件构建打包的效率和精确度。所述方法包括:接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。本发明适用于应用组件的构建打包。

Description

应用组件构建打包方法、装置及计算机存储介质
技术领域
本发明涉及应用开发技术领域,尤其是涉及一种应用组件构建打包方法、装置及计算机存储介质。
背景技术
随着信息技术的不断发展和进步,为了满足人们不增长的需求,应用程序需要不断更新功能,因此需要应用开发人员不断的开发应用组件。应用开发人员在开发完一个应用组件的代码或者修改完应用组件的一处代码后,通常需要对应用组件构建打包,以便将应用组件部署给测试人员进行测试。
目前,通常由技术人员通过手动方式构建打包应用组件。然而,应用组件构建打包过程较复杂,针对一个应用程序可能会出现不同团队协作开发不同应用组件,而每个应用组件的语言、框架各不相同,应用组件构建打包的方式也不会不同,造成技术人员无法适应各种各样的构建打包流程,通过手动方式,会造成无法控制应用组件构建打包节奏,造成应用组件构建打包的速度较慢,且在技术人员的技术水平不高的情况下,会增加应用组件构建打包的错误和风险,从而导致应用组件构建打包的效率和精确度较低。
发明内容
本发明提供了一种应用组件构建打包方法、装置及计算机存储介质,主要在于能够实现自动完成应用组件构建打包,以及实现应用组件构建打包流程的标准化,加快构建打包的速度,控制构建打包节奏,降低构建打包的复杂度,减少手工操作的错误和风险,从而能够提高应用组件构建打包的效率和精确度。
根据本发明的第一个方面,提供一种应用组件构建打包方法,包括:
接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;
根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;
执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;
对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
根据本发明的第二个方面,提供一种应用组件构建打包装置,包括:
接收单元,用于接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;
获取解析单元,用于根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;
执行单元,用于执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;
打包单元,用于对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;
根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;
执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;
对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
根据本发明的第四个方面,提供一种应用组件构建打包装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;
根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;
执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;
对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
本发明提供的一种应用组件构建打包方法、装置及计算机存储介质,与目前通过手动方式构建打包应用组件相比,本发明能够接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;能够根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件,与此同时,能够执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件,从而能够实现自动完成应用组件构建打包,以及实现应用组件构建打包流程的标准化,加快构建打包的速度,控制构建打包节奏,降低构建打包的复杂度,减少手工操作的错误和风险,进而能够提高应用组件构建打包的效率和精确度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种应用组件构建打包方法流程图;
图2示出了本发明实施例提供的另一种应用组件构建打包方法流程图;
图3示出了本发明实施例提供的一种应用组件构建打包装置的结构示意图;
图4示出了本发明实施例提供的另一种应用组件构建打包装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如背景技术,目前,通常由技术人员通过手动方式构建打包应用组件。然而,应用组件构建打包过程较复杂,针对一个应用程序可能会出现不同团队协作开发不同应用组件,而每个应用组件的语言、框架各不相同,应用组件构建打包的方式也不会不同,造成技术人员无法适应各种各样的构建打包流程,通过手动方式,会造成无法控制应用组件构建打包节奏,造成应用组件构建打包的速度较慢,且在技术人员的技术水平不高的情况下,会增加应用组件构建打包的错误和风险,从而导致应用组件构建打包的效率和精确度较低。
为了解决上述问题,本发明实施例提供了一种应用组件构建打包方法,如图1所示,所述方法包括:
101、接收应用组件构建打包指令。
其中,所述构建打包指令包括待构建打包应用组件的应用组件标识。所述应用组件标识可以为应用组件的名称或者为应用组件的唯一编码,本发明实施例不做限定。所述构建打包指令可以为在技术人员点击或者触发构建打包按钮或者按键时,本发明实施例的执行主体应用组件构建打包装置接收到的。
102、根据应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件。
需要说明的是,所述构建打包配置文件可以技术人员针对所述应用组件预先编写的,并所述构建打包配置文件定义描述两个部分的内容:应用组件的标准构建执行动作和源代码配置文件。不同的应用组件对应不同的构建打包配置文件,但是不同的构建打包配置文件均描述上两个部分的内容,不同的应用组件的标准构建执行动作相同,标准构建执行动作中各个执行动作均可以由若干个命令组成,所述各个命令可以通过命令行执行语句表示,所述命令行执行语句可以为shell执行语句或者其他执行语句,每个执行动作下的各个命令可以根据应用组件的实际情况而定。所述标准构建执行动作可以定义有4个执行动作:依赖包安装动作、构建前动作、构建动作和构建后动作,即针对不同的应用组件,构建打包配置文件可均描述上述4个执行动作。所述源代码配置文件可以用于记载应用组件的源代码配置信息。
其中,所述构建打包配置文件可以为通过json文本格式编写的,也可以为通过yaml、xml文本格式编写的,本发明实施例不限定于此。例如,当所述构建打包配置文件为通过json文本格式编写时,所述依赖包安装动作可以为:"install action",所述构建前动作可以为:"before build action",所述构建动作可以为:"build action",所述构建后动作可以为:"after build action";所述源代码配置文件可以为:configure files。
103、执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作。
在本发明实施例中,所述依赖包安装动作可以指定应用组件构建所需的依赖资源包安装,所述依赖资源包可以为body-parser、cookie-parser、debug、ejs、express、serve-favicon、mongodb依赖资源包等。具体地,可以从第三方下载所述应用组件构建所需的依赖资源包安装并进行安装;所述构建前动作可以指定应用组件构建前的预配置动作,如清理上次构建遗留的冗余文件;所述构建动作可以指定应用组件构建所需的执行动作,如对依赖资源包和应用组件的源代码文件进行编译,得到依赖资源包和应用组件的源代码文件的编译文件;所述构建后动作指定应用组件构建后的执行动作,如对所述编译文件进行单元测试,以验证所述应用组件的源代码是否合格。
104、对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
本发明实施例提供的一种应用组件构建打包方法,与目前通过手动方式构建打包应用组件相比,本发明实施例能够接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;能够根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件,与此同时,能够执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件,从而能够实现自动完成应用组件构建打包,以及实现应用组件构建打包流程的标准化,加快构建打包的速度,控制构建打包节奏,降低构建打包的复杂度,减少手工操作的错误和风险,进而能够提高应用组件构建打包的效率和精确度。
进一步的,为了更好的说明上述应用组件构建打包的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种应用组件构建打包方法,如图2所示,所述方法包括:
201、接收应用组件构建打包指令。
其中,所述构建打包指令包括待构建打包应用组件的应用组件标识。
202、根据应用组件标识查找所述应用组件的源代码版本管理目录。
其中,不同应用组件对应不同的源代码版本管理目录。在本发明实施例中,为了能够将应用组件的源代码和构建打包配置文件一体化,简化应用组件的源代码和构建打包配置文件管理,避免源代码版本与构建打包配置文件需要对应的问题,以及避免额外对部署配置文件进行管理,所述方法还包括:获取不同应用组件分别对应的不同构建打包配置文件;将所述不同构建打包配置文件分别添加到所述不同应用组件各自对应的源代码版本管理目录中。具体地,所述源代码版本管理目录下可以保存有应用组件的不同源代码版本管理文件,针对同一个应用组件可以有不同的源代码版本,技术人员可以针对不同源代码版本的应用组件均预先编写构建打包配置文件,应用组件构建打包装置可以将构建打包配置文件添加到对应源代码版本管理文件中。
203、从所述源代码版本管理目录中获取所述应用组件的构建打包配置文件并解析,得到所述应用组件的标准构建执行动作和源代码配置文件。
其中,所述源代码版本管理目录中保存有所述构建打包配置文件和所述应用程序的源代码。例如,应用组件1可以对应源代码版本管理目录1、应用组件2可以对应源代码版本管理目录2、所述源代码版本管理目录1可以包括源代码版本管理文件11、源代码版本管理文件12等。当需要对应用组件1进行构建打包时,可以查找源代码版本管理目录1,然后从源代码版本管理目录1中获取应用组件的构建打包配置文件并解析。具体地,若需要源代码版本1的应用组件1进行构建打包时,可以查找应用组件1的源代码版本管理文件11,然后从源代码版本管理文件11中获取应用组件的构建打包配置文件并解析。
在发明实施例中,所述标准构建执行动作可以定义有4个执行动作:依赖包安装动作、构建前动作、构建动作和构建后动作。所述依赖包安装动作可以包括依赖资源包下载命令打印命令和应用组件构建所需的依赖资源包下载命令;具体地,所述依赖资源包下载命令打印命令可以为:“echo begin install action...”,所述应用组件构建所需的依赖资源包下载命令可以为:“mvn dependency:sources-DdownloadSources=true”。所述构建前动作可以包括构建前动作打印命令和上次构建遗留冗余文件清理命令;具体地,所述构建前动作打印命令可以为:“echo begin before build action...”,所述上次构建遗留冗余文件清理命令可以为:“mvn clean”。所述构建动作可以包括构建动作打印命令和依赖资源包和源代码编译命令;具体地,所述构建动作打印命令可以为:“echo begin buildaction..”,所述依赖资源包和源代码编译命令可以为:“mvn package”。所述构建后动作可以包括构建后动作打印命令和依赖资源包和源代码的编译文件单元测试命令;具体地,所述构建后动作打印命令可以为:“echo after build action...”,所述依赖资源包和源代码的编译文件单元测试命令可以为:“mvn test”。
204、执行所述标准构建执行动作中的依赖包安装动作,并检测是否执行完成。若执行完成,则执行步骤205,若执行失败,则执行步骤209。
对于本发实施例,若所述依赖包安装动作包括应用组件构建所需的依赖资源包下载命令,所述步骤204具体可以包括:执行所述依赖包安装动作,以执行所述下载命令,得到所述应用组件构建所需的依赖资源包。此外,若所述依赖包安装动作包括依赖资源包下载命令打印命令和应用组件构建所需的依赖资源包下载命令,所述步骤204具体可以包括:执行所述依赖包安装动作,以先执行所述依赖资源包下载命令打印命令,输出打印输出一条信息begin install action;然后执行所述下载命令,得到所述应用组件构建所需的依赖资源包。
需要说明的是,执行所述依赖包安装动作可以顺序执行其定义的各个命令,具体地,执行各个命令行执行语句,任意命令行执行语句在执行完成后,对应的返回值可以为0,执行完所述依赖包安装动作中的各个命令后,可以接收到所述各个命令的返回值,即可以通过检测依赖包安装动作对应的返回值是否为0,以确定依赖包安装动作是否执行完成。若依赖包安装动作的各个命令的返回值均为0,则确定依赖包安装动作执行完成;若依赖包安装动作的各个命令的返回值存在非0,则确定依赖包安装动作执行失败,结束所述应用组件的构建打包流程。此外,若所述标准构建执行动作中不存在依赖包安装动作,则也结束所述应用组件的构建打包流程。
205、执行所述标准构建执行动作中的构建前动作,并检测是否执行完成。若执行完成,则执行步骤206,若执行失败,则执行步骤209。
对于本发实施例,若所述构建前动作包括上次构建遗留冗余文件清理命令,所述步骤205具体可以包括:执行所述构建动作,以执行所述清理命令,对上次构建遗留冗余文件进行清理。此外,若所述构建前动作包括构建前动作打印命令和上次构建遗留冗余文件清理命令,所述步骤205具体可以包括:执行所述构建动作,以首先执行构建前动作打印命令,打印输出一条信息begin before build action,然后执行所述清理命令,对上次构建遗留冗余文件进行清理。
同理地,执行所述构建前动作可以顺序执行其定义的各个命令,具体地,执行各个命令行执行语句,任意命令行执行语句在执行完成后,对应的返回值可以为0,执行完所述依赖包安装动作中的各个命令后,可以接收到所述各个命令的返回值,即可以通过检测构建前动作对应的返回值是否为0,以确定构建前动作是否执行完成。若接收构建前动作的各个命令的返回值均为0,则确定构建前动作执行完成;若接收构建前动作的各个命令的返回值存在非0,则确定构建前动作执行失败,结束所述应用组件的构建打包流程。此外,若所述标准构建执行动作中不存在构建前动作,则也结束所述应用组件的构建打包流程。
206、执行所述标准构建执行动作中的构建动作,并检测是否执行完成。若执行完成,则执行步骤207,若执行失败,则执行步骤209。
对于本发实施例,若所述构建动作可以包括依赖资源包和源代码编译命令,所述步骤206具体可以包括:执行所述构建动作,以执行所述编译命令,对所述应用组件的依赖资源包和源代码进行编译,得到所述依赖资源包和所述源代码的编译文件。此外,若所述构建动作可以包括构建动作打印命令和依赖资源包和源代码编译命令,所述步骤206具体可以包括:执行所述构建动作,以首先执行构建动作打印命令,打印输出一条信息beginbuild action...然后执行所述编译命令,对所述应用组件的依赖资源包和源代码进行编译,得到所述依赖资源包和所述源代码的编译文件。
同理地,执行所述构建动作可以顺序执行其定义的各个命令,具体地,执行各个命令行执行语句,任意命令行执行语句在执行完成后,对应的返回值可以为0,执行完所述构建动作中的各个命令后,可以接收到所述各个命令的返回值,即可以通过检测构建动作对应的返回值是否为0,以确定构建动作是否执行完成。若接收构建动作的各个命令的返回值均为0,则确定构建动作执行完成;若接收构建动作的各个命令的返回值存在非0,则确定构建动作执行失败,结束所述应用组件的构建打包流程。此外,若所述标准构建执行动作中不存在构建动作,则也结束所述应用组件的构建打包流程。
207、执行所述标准构建执行动作中的构建后动作,并检测是否执行完成。若执行完成,则执行步骤208,若执行失败,则执行步骤209。
对于本发明实施例,若所述构建后动作包括依赖资源包和源代码的编译文件单元测试命令,所述步骤207具体可以包括:执行所述构建后动作,以执行所述测试命令,对所述编译文件进行单元测试,得到单元测试后的编译文件。此外,若所述构建后动作包括构建后动作打印命令和所述测试命令,,所述步骤207具体可以包括:行所述构建后动作,以首先执行所述构建后动作打印命令,输出打印输出一条信息after build action;然后执行所述测试命令,对所述编译文件进行单元测试,得到单元测试后的编译文件。
同理地,执行所述构建后动作可以顺序执行其定义的各个命令,具体地,执行各个命令行执行语句,任意命令行执行语句在执行完成后,对应的返回值可以为0,执行完所述构建后动作中的各个命令后,可以接收到所述各个命令的返回值,即可以通过检测构建后动作对应的返回值是否为0,以确定构建后动作是否执行完成。若构建后动作的各个命令的返回值均为0,则确定构建后动作执行完成;若接收构建后动作的各个命令的返回值存在非0,则确定构建后动作执行失败,结束所述应用组件的构建打包流程。此外,若所述标准构建执行动作中不存在构建后动作,则也结束所述应用组件的构建打包流程。
208、对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
对于本发明实施例,所述执行完所述标准构建执行动作得到的文件可以为单元测试后的编译文件,所述步骤208具体可以包括:将所述单元测试后的编译文件和所述源代码配置文件一起打包,得到所述应用组件的构建打包文件。
其中,执行完所述标准构建执行动作得到的文件和所述源代码配置文件可以存储在构建目标文件夹或者存储在构建目标文件列表中,通过存储在构建目标文件夹或者构建目标文件列表中,能够方便将所述单元测试后的编译文件和所述源代码配置文件一起打包,且避免构建打包遗漏相应的文件。所述构建打包文件一般可以为压缩文件包,具体地,所述压缩文件包可以为zip压缩文件包、tar压缩文件包,通过打包处理成压缩文件包,能够方便构建打包文件存储、传输及分发等。
209、结束所述应用组件的构建打包流程。
本发明实施例提供的另一种应用组件构建打包方法,与目前通过手动方式构建打包应用组件相比,本发明实施例能够接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;能够根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件,与此同时,能够执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件,从而能够实现自动完成应用组件构建打包,以及实现应用组件构建打包流程的标准化,加快构建打包的速度,控制构建打包节奏,降低构建打包的复杂度,减少手工操作的错误和风险,进而能够提高应用组件构建打包的效率和精确度。
进一步地,作为图1的具体实现,本发明实施例提供了一种应用组件构建打包装置,如图3所示,所述装置包括:接收单元31、获取解析单元32、执行单元33和打包单元34。
所述接收单元31,可以用于接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识。所述接收单元31是本装置中接收应用组件构建打包指令的主要功能模块。
所述获取解析单元32,可以用于根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件。所述获取解析单元32是本装置中根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件的主要功能模块,也是核心模块。
所述执行单元33,可以用于执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;所述执行单元33是本装置中执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作的主要功能模块。
所述打包单元34,可以用于对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。所述打包单元34是本装置中执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件的主要功能模块。
在具体应用场景中,所述执行单元33,具体用于执行所述依赖包安装动作;若所述依赖包安装动作执行失败,则结束所述应用组件的构建打包流程;若所述依赖包安装动作执行完成,则执行所述构建前动作;若所述构建前动作执行失败,则结束所述应用组件的构建打包流程;若执行所述构建前动作执行完成,则执行所述构建动作;若所述构建动作执行失败,则结束所述应用组件的构建打包流程;
若执行所述构建动作执行完成,则执行所述构建后动作;若所述构建后动作执行失败,则结束所述应用组件的构建打包流程;若执行所述构建后动作执行完成,则确定完成所述应用组件的构建打包流程。
对于本发明实施例,为了所述标准构建执行动作中的动作是否执行失败,所述装置还包括:检测单元35和确定单元36,如图4所示。
所述检测单元35,可以用于检测所述依赖包安装动作、所述构建前动作、所述构建动作和所述构建后动作分别对应的执行返回值是否为0。所述检测单元35是本装置中检测所述依赖包安装动作、所述构建前动作、所述构建动作和所述构建后动作分别对应的执行返回值是否为0的主要功能模块。
所述确定单元36,可以用于若所述依赖包安装动作、所述构建前动作、所述构建动作和所述构建后动作分别对应的执行返回值为0,则确定执行完所述依赖包安装动作、所述构建前动作,所述构建动作,所述构建后动作;若为所述依赖包安装动作、所述构建前动作、所述构建动作和所述构建后动作分别对应的执行返回值中存在为非0的执行返回值,则确定对应执行返回值为非0的执行动作执行失败。
此外,所述执行单元33,具体可以用于执行所述依赖包安装动作,以执行所述依赖包安装动作包括的应用组件构建所需的依赖资源包下载命令,得到所述应用组件构建所需的依赖资源包;执行所述构建前动作,以执行所述构建前动作包括的上次构建遗留冗余文件清理命令;执行所述构建动作,以执行所述构建后动作包括的依赖资源包和源代码编译命令,得到所述依赖资源包和所述应用组件的源代码的编译文件;执行所述构建后动作,以执行所述构建后动作包括的依赖资源包和源代码的编译文件单元测试命令,得到单元测试后的编译文件。
所述打包单元34,具体可以用于将所述单元测试后的编译文件和所述源代码配置文件一起打包,得到所述应用组件的构建打包文件。
对于本发明实施例,为了能够将应用组件的源代码和构建打包配置文件一体化,简化应用组件的源代码和构建打包配置文件管理,避免源代码版本与构建打包配置文件需要对应的问题,所述获取解析单元32,具体可以包括:查找模块321、获取模块322和解析模块323。
所述查找模块321,可以用于根据所述应用组件标识查找所述应用组件的源代码版本管理目录,不同应用组件对应不同的源代码版本管理目录。
所述获取模块322,可以用于从所述源代码版本管理目录中获取所述应用组件的构建打包配置文件,所述源代码版本管理目录中保存有所述构建打包配置文件和所述应用程序的源代码。
所述解析模块323,可以用于对所述构建打包配置文件进行解析。
对于本发明实施例,所述装置还包括:添加单元37。
所述添加单元37,可以用于获取不同应用组件分别对应的不同构建打包配置文件;将所述不同构建打包配置文件分别添加到所述不同应用组件各自对应的源代码版本管理目录中。
需要说明的是,本发明实施例提供的一种应用组件构建打包装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
基于上述如图1所示方法和如图3所示应用组件构建打包装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。该计算机设备还包括:总线43,被配置为耦接处理器41及存储器42。
通过本发明的技术方案,能够接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;能够根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件,与此同时,能够执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件,从而能够实现自动完成应用组件构建打包,以及实现应用组件构建打包流程的标准化,加快构建打包的速度,控制构建打包节奏,降低构建打包的复杂度,减少手工操作的错误和风险,进而能够提高应用组件构建打包的效率和精确度。此外,通过从所述源代码版本管理目录中获取所述应用组件的构建打包配置文件,能够将应用组件的源代码和构建打包配置文件一体化,简化应用组件的源代码和构建打包配置文件管理,避免源代码版本与构建打包配置文件需要对应的问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种应用组件构建打包方法,其特征在于,包括:
接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;
根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;
执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;
对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
2.根据权利要求1所述的方法,其特征在于,所述执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作,包括:
执行所述依赖包安装动作;
若所述依赖包安装动作执行失败,则结束所述应用组件的构建打包流程;
若所述依赖包安装动作执行完成,则执行所述构建前动作;
若所述构建前动作执行失败,则结束所述应用组件的构建打包流程;
若执行所述构建前动作执行完成,则执行所述构建动作;
若所述构建动作执行失败,则结束所述应用组件的构建打包流程;
若执行所述构建动作执行完成,则执行所述构建后动作;
若所述构建后动作执行失败,则结束所述应用组件的构建打包流程;
若执行所述构建后动作执行完成,则确定完成所述应用组件的构建打包流程。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
检测所述依赖包安装动作、所述构建前动作、所述构建动作和所述构建后动作分别对应的执行返回值是否为0;
若为0,则确定执行完所述依赖包安装动作、所述构建前动作、所述构建动作和所述构建后动作;
若存在为非0的执行返回值,则确定对应执行返回值为非0的执行动作执行失败。
4.根据权利要求1所述的方法,其特征在于,所述执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作,包括:
执行所述依赖包安装动作,以执行所述依赖包安装动作包括的应用组件构建所需的依赖资源包下载命令,得到所述应用组件构建所需的依赖资源包;
执行所述构建前动作,以执行所述构建前动作包括的上次构建遗留冗余文件清理命令;
执行所述构建动作,以执行所述构建动作包括的依赖资源包和源代码编译命令,得到所述依赖资源包和所述应用组件的源代码的编译文件;
执行所述构建后动作,以执行所述构建后动作包括的依赖资源包和源代码的编译文件单元测试命令,得到单元测试后的编译文件。
5.根据权利要求4所述的方法,其特征在于,所述对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件,包括:
将所述单元测试后的编译文件和所述源代码配置文件一起打包,得到所述应用组件的构建打包文件。
6.根据权利要求1所述的方法,其特征在于,所述根据所述应用组件标识获取并解析所述应用组的构建打包配置文件,包括:
根据所述应用组件标识查找所述应用组件的源代码版本管理目录,不同应用组件对应不同的源代码版本管理目录;
从所述源代码版本管理目录中获取所述应用组件的构建打包配置文件并解析,所述源代码版本管理目录中保存有所述构建打包配置文件和所述应用程序的源代码。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取不同应用组件分别对应的不同构建打包配置文件;
将所述不同构建打包配置文件分别添加到所述不同应用组件各自对应的源代码版本管理目录中。
8.一种应用组件构建打包装置,其特征在于,包括:
接收单元,用于接收应用组件构建打包指令,所述构建打包指令包括待构建打包应用组件的应用组件标识;
获取解析单元,用于根据所述应用组件标识获取并解析所述应用组件的构建打包配置文件,得到所述应用组件的标准构建执行动作和源代码配置文件;
执行单元,用于执行所述标准构建执行动作中的依赖包安装动作、构建前动作、构建动作和构建后动作;
打包单元,用于对执行完所述标准构建执行动作得到的文件和所述源代码配置文件进行打包处理,得到所述应用组件的构建打包文件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
CN201810697491.8A 2018-06-29 2018-06-29 应用组件构建打包方法、装置及计算机存储介质 Pending CN109144563A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810697491.8A CN109144563A (zh) 2018-06-29 2018-06-29 应用组件构建打包方法、装置及计算机存储介质
PCT/CN2018/111666 WO2020000810A1 (zh) 2018-06-29 2018-10-24 应用组件构建打包方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810697491.8A CN109144563A (zh) 2018-06-29 2018-06-29 应用组件构建打包方法、装置及计算机存储介质

Publications (1)

Publication Number Publication Date
CN109144563A true CN109144563A (zh) 2019-01-04

Family

ID=64802454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810697491.8A Pending CN109144563A (zh) 2018-06-29 2018-06-29 应用组件构建打包方法、装置及计算机存储介质

Country Status (2)

Country Link
CN (1) CN109144563A (zh)
WO (1) WO2020000810A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857396A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 组件构建方法及装置、存储介质、电子设备
CN110764778A (zh) * 2019-10-21 2020-02-07 深圳市珍爱捷云信息技术有限公司 应用构建中的预编译方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署***及部署方法
CN104615466A (zh) * 2015-02-05 2015-05-13 广州亦云信息技术有限公司 一种云平台部署方法和***
CN104731692A (zh) * 2015-03-12 2015-06-24 用友网络科技股份有限公司 监控持续集成状态的方法及装置
US20160357544A1 (en) * 2015-06-05 2016-12-08 Apple Inc. On demand resources
CN107315586A (zh) * 2017-06-20 2017-11-03 网易(杭州)网络有限公司 应用打包的方法、装置和***
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001529B2 (en) * 2005-04-18 2011-08-16 Research In Motion Limited System and method of testing wireless component applications
CN103838572A (zh) * 2013-12-20 2014-06-04 北京掌阔技术有限公司 一种安卓开发包的打包***和方法
CN104407856B (zh) * 2014-11-10 2018-02-02 北京国双科技有限公司 软件工具开发包文件的打包方法和装置
CN106293687B (zh) * 2015-06-25 2019-11-19 腾讯科技(深圳)有限公司 一种打包流程的控制方法,及装置
CN106020725B (zh) * 2016-05-20 2019-07-12 努比亚技术有限公司 应用文件处理装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署***及部署方法
CN104615466A (zh) * 2015-02-05 2015-05-13 广州亦云信息技术有限公司 一种云平台部署方法和***
CN104731692A (zh) * 2015-03-12 2015-06-24 用友网络科技股份有限公司 监控持续集成状态的方法及装置
US20160357544A1 (en) * 2015-06-05 2016-12-08 Apple Inc. On demand resources
CN107315586A (zh) * 2017-06-20 2017-11-03 网易(杭州)网络有限公司 应用打包的方法、装置和***
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DEBUGTALK: "关于持续集成打包平台的 Jenkins 配置和构建脚本实现细节", 《HTTPS://DEBUGTALK.COM/POST/IOS-ANDROID-PACKING-WITH-JENKINS-DETAILS/》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857396A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 组件构建方法及装置、存储介质、电子设备
CN109857396B (zh) * 2019-01-11 2023-11-17 平安科技(深圳)有限公司 组件构建方法及装置、存储介质、电子设备
CN110764778A (zh) * 2019-10-21 2020-02-07 深圳市珍爱捷云信息技术有限公司 应用构建中的预编译方法、装置、设备及存储介质
CN110764778B (zh) * 2019-10-21 2024-02-06 深圳市珍爱捷云信息技术有限公司 应用构建中的预编译方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2020000810A1 (zh) 2020-01-02

Similar Documents

Publication Publication Date Title
CN105302716B (zh) 合流开发模式下的测试方法、装置
CN104407973B (zh) 一种自动化单元测试的实现方法及装置
Cacciari et al. Controllability and observability in distributed testing
US20080320071A1 (en) Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system
Jaffar‐ur Rehman et al. Testing software components for integration: a survey of issues and techniques
US20140372989A1 (en) Identification of a failed code change
US11307975B2 (en) Machine code analysis for identifying software defects
CN109491663A (zh) 代码审查方法及装置
Murray et al. Formal derivation of finite state machines for class testing
Tabourier et al. Passive testing and application to the GSM-MAP protocol
CN109144563A (zh) 应用组件构建打包方法、装置及计算机存储介质
Wang et al. Automated test case generation for the Paxos single-decree protocol using a Coloured Petri Net model
CN106201864A (zh) 一种应用程序编程接口api测试方法、装置及移动设备
Hummer et al. Testing of data‐centric and event‐based dynamic service compositions
CN112988578A (zh) 一种自动化测试方法和装置
AU2021227739B2 (en) Executing tests in deterministic order
Weigert et al. Experiences in deploying model-driven engineering
Boehm et al. Using empirical testbeds to accelerate technology maturity and transition: the SCRover experience
Mokni et al. An evolution management model for multi-level component-based software architectures
Varma et al. Nextgen extreme porting: structured by automation
Pham et al. Modular conformance testing and assume-guarantee verification for evolving component-based software
CN110659215A (zh) 一种开放式工业app快速开发及测试验证方法
US20230068602A1 (en) Automated Performance Measurement Over Software Lifecycle
Hessel Model-based test case generation for real-time systems
Gorringe IEEE STD. 1641 and the DoD automatic test system framework elements

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104