CN112613894A - 一种关联源代码和制品的方法及装置 - Google Patents
一种关联源代码和制品的方法及装置 Download PDFInfo
- Publication number
- CN112613894A CN112613894A CN202011640297.XA CN202011640297A CN112613894A CN 112613894 A CN112613894 A CN 112613894A CN 202011640297 A CN202011640297 A CN 202011640297A CN 112613894 A CN112613894 A CN 112613894A
- Authority
- CN
- China
- Prior art keywords
- source code
- product
- label
- article
- tag
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004519 manufacturing process Methods 0.000 claims abstract description 31
- 238000011161 development Methods 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 29
- 238000007689 inspection Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种关联源代码和制品的方法,由终端设备或者服务器执行。以终端设备执行该方法为例,所述终端设备为对目标软件程序研发过程中的源代码和制品进行关联,首先获取第一源代码和根据所述第一源代码获得的第一制品,所述第一制品可以为二进制文件。之后,所述终端设备为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联。其中,所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息以及所述第一制品的第一成熟度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种关联源代码和制品的方法及装置。
背景技术
当前,由工信部中国信息通信研究院牵头制定的全球首个研发运营一体化(Development and Operation,DevOps)标准,是对项目的研发运营一体化进行评估的一种能力成熟度模型。随着DevOps在企业级配置管理与持续集成交付过程中的不断深入发展,通过自动化流水线的方式实现应用交付制品(以下简称制品)与其所对应的源代码之间的关联与追溯变得越来越重要。其中,所述制品可以是其对应的源代码通过构建产生的二进制目标文件的程序包。。
为将制品与其对应的源代码关联起来,实现制品与其对应的源代码之间互相追踪,开发人员通常人工记录制品的版本信息,并以此信息作为制品和源代码的版本标记或组成部分,这样不但出错率高,而且,由于同一版本的制品在流转和晋级的过程中存在多个不同成熟度的制品,仅根据版本信息无法追踪制品的成熟度,无法获取制品晋级和流转的关联关系。
发明内容
本申请所要解决的技术问题是,提供一种关联源代码和制品的方法,以解决当前,为将制品与其对应的源代码关联起来,实现制品与其对应的源代码之间互相追踪,开发人员通常人工记录制品的版本信息,并以此信息作为制品和源代码的版本标记或组成部分,这样不但出错率高,而且,由于同一版本的制品可能存在多个不同成熟度的制品,仅根据版本信息无法通过源代码追踪制品的成熟度,无法获取制品晋级和流转的关联关系的问题。
第一方面,本申请实施例提供了一种关联源代码和制品的方法,用于对目标软件程序研发过程中的源代码和制品进行关联,所述方法包括:
获取第一源代码和根据所述第一源代码生成的第一制品;
为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联;
其中:
所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、所述第一制品的第一成熟度。
可选的,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第i个阶段对应的源代码,所述获取第一源代码和根据所述第一源代码获得的第一制品,包括:
获取所述第一源代码;
对所述第一源代码进行制品生成,得到所述第一制品;
所述方法还包括:
为对第一制品生成记录文件添加所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
可选的,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第j个阶段对应的源代码,所述获取第一源代码和根据所述第一源代码获得的第一制品,包括:
从制品库中读取第(j-1)个阶段对应的制品,得到所述第一制品;
对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的第二标签为索引,查找得到所述第一源代码,其中,所述第一源代码包括所述第二标签,所述第二标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第二成熟度。
可选的,所述方法还包括:
将所述第一制品生成记录文件的标签,由所述第二标签更新为所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
可选的,所述为所述第一源代码和所述第一制品分别添加第一标签,包括:
为所述第一源代码添加所述第一标签,添加所述第一标签之后,所述第一源代码包括所述第一标签和所述第二标签;
将所述第一制品的标签由所述第二标签更新为所述第一标签。
可选的,所述方法还包括:
再次对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的所述第一标签为索引,查找得到所述第一源代码;
为所述第一源代码和所述第一制品添加第三标签,添加所述第三标签之后,所述第一源代码包括所述第一标签、所述第二标签和所述第三标签,所述第一制品包括所述第三标签,所述第三标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第三成熟度。
可选的,所述方法还包括:
将所述第一制品生成记录文件的标签,由所述第一标签更新为所述第三标签。
第二方面,本申请实施例提供了一种关联源代码和制品的装置,用于对目标软件程序研发过程中的源代码和制品进行关联,所述装置包括:
获取模块,用于:获取第一源代码和根据所述第一源代码获得的第一制品;
第一添加模块,用于:为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联;
其中:
所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、所述第一制品的第一成熟度。
可选的,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第i个阶段对应的源代码,所述第一获取模块,用于:
获取所述第一源代码;
对所述第一源代码进行制品生成,得到所述第一制品;
所述装置还包括第二添加模块,用于:
为对第一制品生成记录文件添加所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
可选的,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第j个阶段对应的源代码,所述第一获取模块,用于:
从制品库中读取第(j-1)个阶段对应的制品,得到所述第一制品;
对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的第二标签为索引,查找得到所述第一源代码,其中,所述第一源代码包括所述第二标签,所述第二标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第二成熟度。
可选的,所述装置还包括第一更新模块,用于:
将所述第一制品生成记录文件的标签,由所述第二标签更新为所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
可选的,第一添加模块,用于:
为所述第一源代码添加所述第一标签,添加所述第一标签之后,所述第一源代码包括所述第一标签和所述第二标签;
将所述第一制品的标签由所述第二标签更新为所述第一标签。
可选的,所述装置还包括:
确定模块,用于:再次对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的所述第一标签为索引,查找得到所述第一源代码;
第三添加模块,用于:为所述第一源代码和所述第一制品添加第三标签,添加所述第三标签之后,所述第一源代码包括所述第一标签、所述第二标签和所述第三标签,所述第一制品包括所述第三标签,所述第三标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第三成熟度。
可选的,所述装置还包括:
第二更新模块,用于:将所述第一制品生成记录文件的标签,由所述第一标签更新为所述第三标签。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供了一种关联源代码和制品的方法,由终端设备或者服务器执行。以终端设备执行该方法为例,所述终端设备为对目标软件程序研发过程中的源代码和制品进行关联,首先获取第一源代码和根据所述第一源代码获得的第一制品,所述第一制品为二进制文件。之后,所述终端设备为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联。其中,所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息以及所述第一制品的第一成熟度。由此可见,通过所述终端设备自动为所述第一源代码和所述第一制品添加所述第一标签,将所述第一源代码和所述第一制品关联起来,开发人员无需人工记录,只需将所述第一标签为索引,即可实现制品与其对应的源代码之间互相追踪,降低追踪时的错误率。同时,由于所述第一标签包括所述第一制品的第一成熟度,通过所述第一标签可以追踪制品的成熟度,进而获取制品晋级和流转的关联关系。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种关联源代码和制品的方法的流程示意图;
图2为本申请实施例中一种关联源代码和制品的装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过研究发现,当前,为将制品与其对应的源代码关联起来,实现制品与其对应的源代码之间互相追踪,开发人员通常人工记录制品的版本信息,并以此信息作为制品和源代码的版本标记或组成部分,这样不但出错率高,而且,由于同一版本的制品在流转和晋级的过程中存在多个不同成熟度的制品,仅根据版本信息无法追踪制品的成熟度,无法获取制品晋级和流转的关联关系。
为了解决上述问题,本申请实施例提供了一种关联源代码和制品的方法,由终端设备或者服务器执行。以终端设备执行该方法为例,所述终端设备为对目标软件程序研发过程中的源代码和制品进行关联,首先获取第一源代码和根据所述第一源代码获得的第一制品,所述第一制品为二进制文件。之后,所述终端设备为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联。其中,所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息以及所述第一制品的第一成熟度。由此可见,通过所述终端设备自动为所述第一源代码和所述第一制品添加所述第一标签,将所述第一源代码和所述第一制品关联起来,开发人员无需人工记录,只需将所述第一标签为索引,即可实现制品与其对应的源代码之间互相追踪,降低追踪时的错误率。同时,由于所述第一标签包括所述第一制品的第一成熟度,通过所述第一标签可以追踪制品的成熟度,进而获取制品晋级和流转的关联关系。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图1,示出了本申请实施例中一种关联源代码和制品的方法的流程示意图。图1所示的方法,在一种实现方式中,可以由终端设备执行。
在本实施例中,图1所示的方法例如可以通过以下步骤S101-S102实现。
S101:获取第一源代码和根据所述第一源代码生成的第一制品。
在本实施例中,所述终端设备为对目标软件程序研发过程中的源代码和制品进行关联,首先获取第一源代码和根据所述第一源代码生成的第一制品,所述第一制品可以是所述第一源代码通过构建产生的二进制目标文件的程序包。
S102:为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联;其中,所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、所述第一制品的第一成熟度。
在本实施例中,所述终端设备在获取所述第一源代码和所述第一制品后,可以为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联。由于所述第一源代码和所述第一制品上添加了相同的标签,即所述第一标签,所述终端设备可以将所述第一标签作为索引,根据所述第一源代码追踪到所述第一制品,或根据所述第一制品追踪到所述第一源代码,无需人工记录,即可实现制品与其对应的源代码之间互相追踪,降低追踪时的错误率。
需要说明的是,所述第一标签可以包括所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、以及所述第一制品的第一成熟度。其中,所述属性信息例如可以是所述目标软件程序的应用***名称、配置库名称以及应用版本信息的组合,如DEMO-APP-V3.0.0;所述制品生成记录信息例如可以是制品生成所述第一源代码的全局流水线序号和当前制品生成日期的组合,如10001-20200520;所述第一制品的第一成熟度是所述第一制品在流转和晋级的过程中某一阶段。
对于V3.0.0这一应用版本信息的所述制品,可能存在多个不同的成熟度,所述第一成熟度只是其中的一种。例如,假设所述目标软件程序从开始研发到上线需要依次经过4条流水线,其中,前两条流水线通过对所述第一源代码进行制品生成直接得到所述制品,两次生成得到的两种不同成熟度的所述制品。后两条流水线通过对前次流水线上得到的某一成熟度的所述制品进行质量检测,质量检测通过后可以得到更高级别成熟度的所述制品。例如,第三条流水线对所述ALPHA成熟度的所述制品进行质量检测,质量检测通过后得到BETA成熟度的所述制品。第四条流水线对所述BETA成熟度的所述制品再次进行质量检测,质量检测通过后得到RELEASE成熟度的所述制品。
所述第一制品可以为前述4条流水线中的任意一条流水线所对应的制品。若所述第一制品为第一条流水线对应的制品,则所述第一成熟度例如可以为SNAPSHOT;若所述第一制品为第二条流水线对应的制品,则所述第一成熟度例如可以为ALPHA;若所述第一制品为第三条流水线对应的制品,则所述第一成熟度例如可以为BETA;若所述第一制品为第四条流水线对应的制品,则所述第一成熟度例如可以为RELEASE。
由此可见,由于所述第一标签包括所述第一制品的第一成熟度,通过所述第一标签可以追踪制品的成熟度,进而获取制品晋级和流转的关联关系。
可以理解的是,若所述目标软件程序的研发过程包括多个阶段,即前文提及的多个流水线。在一个示例中,所述第一源代码可以为所述多个阶段中的第i个阶段对应的源代码,所述终端设备在获取所述第一源代码后,可以对所述第一源代码进行制品生成,得到所述第一制品。在上例中,由于前两条流水线通过对所述第一源代码进行制品生成得到所述第一制品,因此,i可以为1或2。在一个示例中,所述终端设备还可以对第一制品生成记录文件添加所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。在对所述第一制品生成记录文件添加所述第一标签后,可以通过所述第一制品生成记录的数数第一标签,确定所述第一制品生成记录对应的所述第一源代码和所述第一制品。
若所述第一制品为第一条流水线对应的制品,所述第一制品的所述第一标签、所述第一源代码的所述第一标签、以及所述第一制品生成记录的所述第一标签可以入下表1所示。
表1
第一条流水线可以为开发持续集成流水线。当所述属性信息为DEMO-APP-V3.0.0、所述第一制品的制品生成记录信息为10001-20200520时,得到的所述第一标签的成熟度例如可以为临时成熟度SNAPSHOT,此时所述第一标签可以为DEMO-APP-V3.0.0-10001-20200520-SNAPSHOT。在本示例中,所述终端设备可以对所述第一制品、所述第一源代码以及所述第一制品生成记录分别添加所述第一标签,也可以只对所述第一制品以及所述第一制品生成记录分别添加所述第一标签。
若所述第一制品为第二条流水线对应的制品,所述第一制品的所述第一标签、所述第一源代码的所述第一标签、以及所述第一制品生成记录的所述第一标签可以如下表2所示。
表2
第二条流水线可以为交付测试流水线。当所述属性信息为DEMO-APP-V3.0.0、所述第一制品的制品生成记录信息为10001-20200520时,得到的所述第一标签的成熟度例如可以为初级成熟度ALPHA,此时所述第一标签可以为DEMO-APP-V3.0.0-10001-20200520-ALPHA。在本示例中,所述终端设备可以对所述第一制品、所述第一源代码以及所述第一制品生成记录分别添加所述第一标签。
在一个示例中,若所述目标软件程序的研发过程包括多个阶段,所述多个阶段包括对所述第一制品进行质量检测的阶段。可以理解的是,所述终端设备可以对上一条流水线上制品生成得到的所述第一制品进行质量检测,还可以对通过上一次质量检测的所述第一制品进行再一次质量检测。因此,假设当前质量检测流水线对应所述目标软件程序研发过程的第j个阶段,所述终端设备可以从制品库中读取第(j-1)个阶段对应的制品,以得到所述第一制品。在上例中,由于第三条和第四条流水线通过对前次流水线上得到的某一成熟度的所述制品进行质量检测,质量检测通过后得到所述第一制品,因此,j可以为3或4。所述第j个阶段在对所述第一制品进行质量检测,并在质量检测通过的情况下,所述终端设备可以以所述第一制品的第二标签为索引,查找得到所述第一源代码,其中,所述第二标签为第(j-1)个阶段的标签,所述第一源代码包括所述第二标签。在一个示例中,在得到所述第一源代码后,所述终端设备可以为所述第一源代码和所述第一制品添加所述第一标签,还可以将所述第一制品生成记录文件的标签更新为所述第一标签。其中,所述第二标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第二成熟度。
若所述第一制品为第三条流水线对应的制品,则所述第一制品的所述第二标签、所述第一源代码的所述第二标签、以及所述第一制品生成记录的所述第二标签,以及所述第一制品的所述第一标签、所述第一源代码的所述第一标签、以及所述第一制品生成记录的所述第一标签,可以结合下表3进行理解。
表3
第三条流水线可以为预投产集成流水线。所述属性信息为DEMO-APP-V3.0.0、所述第一制品的制品生成记录信息为10001-20200520时,对于第三条流水线的所述第一制品生成记录、第三条流水线得到的所述第一制品及其对应的所述第一源代码,可以在第二条流水线制品生成记录的标签、第二条流水线得到的所述制品的标签及其对应的源代码的标签的基础上,采用如下方案添加所述第一标签:首先,将所述第一制品生成记录文件的标签,由所述第二标签,即第二条流水线的标签“DEMO-APP-V3.0.0-10002-20200520-ALPHA”更新为所述第一标签“DEMO-APP-V3.0.0-20200520-BETA”;接着,所述终端设备可以为所述第一源代码添加所述第一标签“DEMO-APP-V3.0.0-20200520-BETA”,在添加所述第一标签之后,所述第一源代码包括所述第一标签“DEMO-APP-V3.0.0-20200520-BETA”和所述第二标签“DEMO-APP-V3.0.0-10002-20200520-ALPHA”;最后,对于所述第一制品,可以将所述第一制品的标签由所述第二标签更新为所述第一标签,使得所述第一制品的标签为“DEMO-APP-V3.0.0-20200520-BETA”。
在一个示例中,所述终端设备可以再次对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的所述第一标签为索引,查找得到所述第一源代码。例如,若当前进行质量检测的是第四个阶段,则作为索引的所述第一标签是第三个阶段生成的标签。在得到所述第一源代码后,所述终端设备可以为所述第一源代码和所述第一制品添加第三标签,还可以将所述第一制品生成记录文件的标签更新为所述第三标签。所述第三标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第三成熟度。
下面结合表4说明在第四个阶段,即第四条流水线上对第三条流水线质量检测得到的所述第一制品再次进行质量检测,在质量检测通过的情况下,所述第一制品的所述第三标签、所述第一源代码的所述第三标签、以及所述第一制品生成记录的所述第三标签。
表4
第四条流水线可以为发布流水线。所述属性信息为DEMO-APP-V3.0.0、所述第一制品的制品生成记录信息为10001-20200520时,对于第四条流水线的所述第一制品生成记录、第四条流水线得到的所述第一制品及其对应的所述第一源代码,可以在第三条流水线制品生成记录的标签、第三条流水线得到的所述制品的标签及其对应的源代码的标签的基础上,采用如下方案添加所述第三标签:首先,将所述第一制品生成记录文件的标签,由所述第一标签,即第三条流水线的标签“DEMO-APP-V3.0.0-10002-20200520-BETA”更新为所述第三标签“DEMO-APP-V3.0.0-20200520-RELEASE”;接着,所述终端设备可以为所述第一源代码添加所述第三标签“DEMO-APP-V3.0.0-20200520-RELEASE”,在添加所述第三标签之后,所述第一源代码包括所述第一标签“DEMO-APP-V3.0.0-10002-20200520-BETA”、所述第二标签“DEMO-APP-V3.0.0-10002-20200520-ALPHA”和所述第三标签“DEMO-APP-V3.0.0-20200520-RELEASE”;最后,对于所述第一制品,可以将所述第一制品的标签由所述第一标签更新为所述第三标签,使得所述第一制品的标签为“DEMO-APP-V3.0.0-20200520-RELEASE”。
示例性设备
基于以上实施例提供的方法,本申请实施例还提供了一种装置,以下结合附图介绍该装置。
参见图2,示出了本申请实施例中一种关联源代码和制品的装置的结构示意图。所述装置例如可以具体包括:
获取模块201:用于获取第一源代码和根据所述第一源代码生成的第一制品;
第一添加模块202:用于为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联;
其中:
所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、所述第一制品的第一成熟度。
通过这一装置,所述终端设备自动为所述第一源代码和所述第一制品添加所述第一标签,将所述第一源代码和所述第一制品关联起来,开发人员无需人工记录,只需将所述第一标签为索引,即可实现制品与其对应的源代码之间互相追踪,降低追踪时的错误率。同时,由于所述第一标签包括所述第一制品的第一成熟度,通过所述第一标签可以追踪制品的成熟度,进而获取制品晋级和流转的关联关系。
在一种实现方式中,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第i个阶段对应的源代码,所述第一获取模块,用于:
获取所述第一源代码;
对所述第一源代码进行制品生成,得到所述第一制品;
所述装置还包括第二添加模块,用于:
为对第一制品生成记录文件添加所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
在一种实现方式中,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第j个阶段对应的源代码,所述第一获取模块,用于:
从制品库中读取第(j-1)个阶段对应的制品,得到所述第一制品;
对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的第二标签为索引,查找得到所述第一源代码,其中,所述第一源代码包括所述第二标签,所述第二标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第二成熟度。
在一种实现方式中,所述装置还包括第一更新模块,用于:
将所述第一制品生成记录文件的标签,由所述第二标签更新为所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
在一种实现方式中,第一添加模块,用于:
为所述第一源代码添加所述第一标签,添加所述第一标签之后,所述第一源代码包括所述第一标签和所述第二标签;
将所述第一制品的标签由所述第二标签更新为所述第一标签。
在一种实现方式中,所述装置还包括:
确定模块,用于:再次对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的所述第一标签为索引,查找得到所述第一源代码;
第三添加模块,用于:为所述第一源代码和所述第一制品添加第三标签,添加所述第三标签之后,所述第一源代码包括所述第一标签、所述第二标签和所述第三标签,所述第一制品包括所述第三标签,所述第三标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第三成熟度。
在一种实现方式中,所述装置还包括:
第二更新模块,用于:将所述第一制品生成记录文件的标签,由所述第一标签更新为所述第三标签。
由于所述装置200是与以上方法实施例提供的方法对应的装置,所述装置200的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置200的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种关联源代码和制品的方法,其特征在于,用于对目标软件程序研发过程中的源代码和制品进行关联,所述方法包括:
获取第一源代码和根据所述第一源代码生成的第一制品;
为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联;
其中:
所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、所述第一制品的第一成熟度。
2.根据权利要求1所述的方法,其特征在于,所述目标软件程序的研发交付过程包括多个阶段,所述第一源代码为所述多个阶段中的第i个阶段对应的源代码,所述获取第一源代码和根据所述第一源代码获得的第一制品,包括:
获取所述第一源代码;
对所述第一源代码进行制品生成,得到所述第一制品;
所述方法还包括:
为对第一制品生成记录文件添加所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
3.根据权利要求1所述的方法,其特征在于,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第j个阶段对应的源代码,所述获取第一源代码和根据所述第一源代码获得的第一制品,包括:
从制品库中读取第(j-1)个阶段对应的制品,得到所述第一制品;
对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的第二标签为索引,查找得到所述第一源代码,其中,所述第一源代码包括所述第二标签,所述第二标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第二成熟度。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述第一制品生成记录文件的标签,由所述第二标签更新为所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
5.根据权利要求3或4所述的方法,其特征在于,所述为所述第一源代码和所述第一制品分别添加第一标签,包括:
为所述第一源代码添加所述第一标签,添加所述第一标签之后,所述第一源代码包括所述第一标签和所述第二标签;
将所述第一制品的标签由所述第二标签更新为所述第一标签。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
再次对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的所述第一标签为索引,查找得到所述第一源代码;
为所述第一源代码和所述第一制品添加第三标签,添加所述第三标签之后,所述第一源代码包括所述第一标签、所述第二标签和所述第三标签,所述第一制品包括所述第三标签,所述第三标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第三成熟度。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述第一制品生成记录文件的标签,由所述第一标签更新为所述第三标签。
8.一种关联源代码和制品的装置,其特征在于,用于对目标软件程序研发过程中的源代码和制品进行关联,所述装置包括:
获取模块,用于:获取第一源代码和根据所述第一源代码获得的第一制品;
第一添加模块,用于:为所述第一源代码和所述第一制品分别添加第一标签,所述第一标签用于对所述第一源代码和所述第一制品进行关联;
其中:
所述第一标签包括:所述目标软件程序的属性信息、所述第一源代码生成的所述第一制品的生成记录信息、所述第一制品的第一成熟度。
9.根据权利要求8所述的装置,其特征在于,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第i个阶段对应的源代码,所述第一获取模块,用于:
获取所述第一源代码;
对所述第一源代码进行制品生成,得到所述第一制品;
所述装置还包括第二添加模块,用于:
为对第一制品生成记录文件添加所述第一标签,所述第一制品生成记录文件用于指示所述第一源代码生成的所述第一制品的生成记录。
10.根据权利要求8所述的装置,其特征在于,所述目标软件程序的研发过程包括多个阶段,所述第一源代码为所述多个阶段中的第j个阶段对应的源代码,所述第一获取模块,用于:
从制品库中读取第(j-1)个阶段对应的制品,得到所述第一制品;
对所述第一制品进行质量检测,并在质量检测通过的情况下,以所述第一制品的第二标签为索引,查找得到所述第一源代码,其中,所述第一源代码包括所述第二标签,所述第二标签包括:所述属性信息、所述制品生成记录信息、所述第一制品的第二成熟度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011640297.XA CN112613894B (zh) | 2020-12-31 | 2020-12-31 | 一种关联源代码和制品的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011640297.XA CN112613894B (zh) | 2020-12-31 | 2020-12-31 | 一种关联源代码和制品的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112613894A true CN112613894A (zh) | 2021-04-06 |
CN112613894B CN112613894B (zh) | 2024-04-16 |
Family
ID=75253075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011640297.XA Active CN112613894B (zh) | 2020-12-31 | 2020-12-31 | 一种关联源代码和制品的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112613894B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515288A (zh) * | 2021-04-26 | 2021-10-19 | 中国工商银行股份有限公司 | 基于发布单元的自动化部署方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339506A (zh) * | 2008-08-12 | 2009-01-07 | 中国工商银行股份有限公司 | 一种实现软件产品资源与版本管理的装置 |
CN102566986A (zh) * | 2010-12-10 | 2012-07-11 | 上海晨兴希姆通电子科技有限公司 | Td无线固话软件版本管理***及其应用方法 |
CN104077232A (zh) * | 2014-07-21 | 2014-10-01 | 上海零一拼装信息技术有限公司 | 一种基于用例与源码双向追溯的测试装置及方法 |
CN105955746A (zh) * | 2016-05-06 | 2016-09-21 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
CN108268275A (zh) * | 2017-06-12 | 2018-07-10 | 平安普惠企业管理有限公司 | 软件版本控制方法及软件版本控制设备 |
CN108509200A (zh) * | 2018-03-13 | 2018-09-07 | 中国银行股份有限公司 | 一种建立软件源代码与执行码之间关联的方法及装置 |
CN109783358A (zh) * | 2018-12-14 | 2019-05-21 | 南瑞集团有限公司 | 一种回归测试驱动的软件版本管理方法、***及存储介质 |
CN110231956A (zh) * | 2019-06-20 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 应用程序版本构建的方法、***及装置 |
CN110674024A (zh) * | 2018-07-02 | 2020-01-10 | 北京忆恒创源科技有限公司 | 电子设备集成测试***及其方法 |
CN111400243A (zh) * | 2020-02-25 | 2020-07-10 | 数字广东网络建设有限公司 | 基于流水线服务的研发管理***以及文件存储方法、装置 |
CN111427771A (zh) * | 2020-02-29 | 2020-07-17 | 平安科技(深圳)有限公司 | 一种代码覆盖率分析方法、设备、服务器及可读存储介质 |
-
2020
- 2020-12-31 CN CN202011640297.XA patent/CN112613894B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339506A (zh) * | 2008-08-12 | 2009-01-07 | 中国工商银行股份有限公司 | 一种实现软件产品资源与版本管理的装置 |
CN102566986A (zh) * | 2010-12-10 | 2012-07-11 | 上海晨兴希姆通电子科技有限公司 | Td无线固话软件版本管理***及其应用方法 |
CN104077232A (zh) * | 2014-07-21 | 2014-10-01 | 上海零一拼装信息技术有限公司 | 一种基于用例与源码双向追溯的测试装置及方法 |
CN105955746A (zh) * | 2016-05-06 | 2016-09-21 | 中国银行股份有限公司 | 一种版本管理的方法及装置 |
CN108268275A (zh) * | 2017-06-12 | 2018-07-10 | 平安普惠企业管理有限公司 | 软件版本控制方法及软件版本控制设备 |
CN108509200A (zh) * | 2018-03-13 | 2018-09-07 | 中国银行股份有限公司 | 一种建立软件源代码与执行码之间关联的方法及装置 |
CN110674024A (zh) * | 2018-07-02 | 2020-01-10 | 北京忆恒创源科技有限公司 | 电子设备集成测试***及其方法 |
CN109783358A (zh) * | 2018-12-14 | 2019-05-21 | 南瑞集团有限公司 | 一种回归测试驱动的软件版本管理方法、***及存储介质 |
CN110231956A (zh) * | 2019-06-20 | 2019-09-13 | 腾讯科技(深圳)有限公司 | 应用程序版本构建的方法、***及装置 |
CN111400243A (zh) * | 2020-02-25 | 2020-07-10 | 数字广东网络建设有限公司 | 基于流水线服务的研发管理***以及文件存储方法、装置 |
CN111427771A (zh) * | 2020-02-29 | 2020-07-17 | 平安科技(深圳)有限公司 | 一种代码覆盖率分析方法、设备、服务器及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
青灯夜游: "软件版本号怎么命名", 《HTTPS://WWW.PHP.CN/FAQ/422350.HTML》, pages 1 - 3 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515288A (zh) * | 2021-04-26 | 2021-10-19 | 中国工商银行股份有限公司 | 基于发布单元的自动化部署方法及装置 |
CN113515288B (zh) * | 2021-04-26 | 2024-02-23 | 中国工商银行股份有限公司 | 基于发布单元的自动化部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112613894B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103890722B (zh) | 使用可追溯性链接强度以用于软件开发完整性监视 | |
US20080172655A1 (en) | Saving Code Coverage Data for Analysis | |
US20130041900A1 (en) | Script Reuse and Duplicate Detection | |
CN104081380A (zh) | 对来自多个数据源的解决方案的识别和排序 | |
CN111159982B (zh) | 文档编辑方法、装置、电子设备及计算机可读存储介质 | |
CN111459962B (zh) | 一种基于生产流程的订单拆分合并处理方法及装置 | |
CN110728422A (zh) | 用于施工项目的建筑信息模型、方法、装置和结算*** | |
CN111324781A (zh) | 一种数据分析方法、装置及设备 | |
CN105868956A (zh) | 一种数据处理方法及装置 | |
CN115222361A (zh) | 业务流程流转方法、装置、设备及计算机存储介质 | |
CN114780138B (zh) | 流场模拟软件代码版本管理方法、装置和存储介质 | |
CN112613894B (zh) | 一种关联源代码和制品的方法及装置 | |
CN111737148A (zh) | 自动回归测试方法、装置、计算机设备及存储介质 | |
CN107203562B (zh) | 自动化检查方法、装置和计算机可读存储介质 | |
CN113138990B (zh) | 一种数据血缘构建、追溯方法、装置及设备 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN112488730B (zh) | 一种产品召回任务处理方法、装置及设备 | |
CN116303064A (zh) | 一种获取单元代码覆盖率的方法及装置 | |
CN115345600A (zh) | 一种rpa流程的生成方法和装置 | |
CN111209214B (zh) | 代码测试处理方法、装置、电子设备及介质 | |
CN108920749B (zh) | 管线二三维数据更新方法、装置与计算机可读存储介质 | |
CN115879665B (zh) | 确定产品配置的检验要求、标识产品配置的方法及设备 | |
CN117290253B (zh) | 代码测试方法、装置、通信设备及存储介质 | |
US11934800B2 (en) | Generating metadata to facilitate code generation | |
CN110728584B (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 |