CN114281682A - 软件的持续集成方法、装置及存储介质 - Google Patents
软件的持续集成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114281682A CN114281682A CN202111500983.1A CN202111500983A CN114281682A CN 114281682 A CN114281682 A CN 114281682A CN 202111500983 A CN202111500983 A CN 202111500983A CN 114281682 A CN114281682 A CN 114281682A
- Authority
- CN
- China
- Prior art keywords
- source code
- software
- tool
- module
- code
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000010354 integration Effects 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 28
- 230000003993 interaction Effects 0.000 claims description 26
- 230000003068 static effect Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 10
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000012356 Product development Methods 0.000 abstract description 5
- 238000011161 development Methods 0.000 abstract description 4
- 230000001960 triggered effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件的持续集成方法、装置及存储介质。本发明通过检测数据库启动一任务创建指令或用户通过启动一任务创建指令,并根据所述任务创建指令自动录入相应的设定参数,以及根据所述设定参数对所述软件中的源代码执行变更操作,从而实现软件集成的自动化,提高产品开发的效率以及降低开发成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件的持续集成方法、装置及存储介质。
背景技术
对于很多软件公司来说,软件在产品研发阶段性完成之后需提交测试,以及在测试之后需要进行编译和发布,通常的做法是通过一个脚本或者持续集成(Continuousintegration,简称CI)工具(如Jenkins)来进行自动编译,然后将编译后的软件提交测试,或者需要发布的情况下由配置管理员或产品测试人员发送邮件进行发布并将代码进行归档。但是这些过程,需要手动介入的操作过多,需要处理的环节从源代码管理工具、编译脚本或CI工具、版本提测、代码归档、版本发布等经历若干个手工处理环节,系统和系统之间的工作容易因工作繁忙等原因而不能高效串联,同时人为操作也容易引有疏漏或误操作。
发明内容
本发明的目的在于,本发明实施例提供一种软件的持续集成方法、装置及存储介质,旨在有效解决现有技术的软件版本持续集成需要手动操作,效率低出错率高的问题。
根据本发明的一方面,本发明提供一种软件的持续集成方法,所述方法包括:启动一任务创建指令;根据所述任务创建指令自动录入相应的设定参数;以及根据所述设定参数对所述软件中的源代码执行变更操作;其中所述设定参数包括用于记录所述源代码所需变更项目的识别标签。
进一步地,所述启动一任务创建指令包括:当数据库发生变更时,则启动任务创建指令,其中所述数据库用于存储所述源代码。
进一步地,所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。
进一步地,所述根据所述设定参数对所述软件中的源代码执行变更操作包括:获取所述数据库中的识别标签所对应的源代码;对所述识别标签所对应的源代码进行扫描分析,以得到分析结果;基于所述分析结果,将所述识别标签所对应的源代码执行变更操作,以生成新的源代码。
进一步地,所述方法还包括:对所述新的源代码进行测试操作,以获得测试结果,其中测试结果包括静态分析结果和动态分析结果;将所述测试结果上传至指定的服务器。
进一步地,所述启动一任务创建指令还包括:接收到来自用户或控制器的任务创建指令。
根据本发明的另一方面,本发明提供一种软件的持续集成系统,包括集成管理工具,所述集成管理模块用于执行本发明任一所述的软件的持续集成方法;录入工具,用于当启动一任务创建指令,向所述集成管理工具自动录入相应的设定参数;其中所述设定参数包括用于记录源代码所需变更项目的识别标签。
进一步地,所述系统还包括:数据交互模块,用于所述集成管理工具与目标工具进行数据交互的通道,其中所述数据交互模块包括代码变更检测模块、代码编辑模块、反馈模块、静态分析调用模块和动态分析调用模块,其中所述代码变更检测模块和所述代码编辑模块设置于同一个服务器中。
进一步地,所述目标工具包括以下的工具中的至少一个:数据库,用于存储所述源代码,所述数据库通过所述代码变更检测模块与所述集成管理工具进行数据交互;代码编辑工具,用于根据所述设定参数对所述源代码执行变更操作,以及通过所述代码编辑模块与所述集成管理工具进行数据交互;邮件管理工具,用于接收测试结果和变更操作的反馈信息,以及通过所述反馈模块与所述集成管理工具进行数据交互;静态分析工具,用于对新的源代码进行扫描,以获得静态分析结果,以及通过所述静态分析调用模块与所述集成管理工具进行数据交互;动态测试工具,用于对所述新的源代码进行扫描,以获得动态分析结果,以及通过所述动态分析调用模块与所述集成管理工具进行数据交互;服务器,用于接收测试结果,以及通过所述反馈模块与所述集成管理工具进行数据交互。
根据本发明的另一方面,本发明提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行任一所述的软件的持续集成方法。
本发明的优点在于,本发明通过检测数据库启动一任务创建指令或用户通过启动一任务创建指令,并根据所述任务创建指令自动录入相应的设定参数,以及根据所述设定参数对所述软件中的源代码执行变更操作,从而实现软件集成的自动化,提高产品开发的效率以及降低开发成本。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例一提供的一种软件的持续集成方法步骤流程图。
图2为本发明实施例二提供的一种软件的持续集成方法步骤流程图。
图3为本发明实施例三提供的软件的持续集成装置的构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
如图1所示,为本发明实施例一提供的软件的持续集成方法的步骤流程图。
S110:启动一任务创建指令。
示例性地,当数据库发生变更时,则启动任务创建指令,其中所述数据库用于存储所述源代码。或者当接收到来自用户或控制器的任务创建指令时,启动任务创建指令。
S120:根据所述任务创建指令自动录入相应的设定参数。
示例性地,所述设定参数包括用于记录所述源代码所需变更项目的识别标签。所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。进一步地,当录入设定参数错误,则触发报错反馈,以此解决手动触发编译(即变更操作)时录入设定参数错误的问题,自动触发编译申请,无需用户提交待变更代码后再手动触发,从而提高效率。
S130:根据所述设定参数对所述软件中的源代码执行变更操作。
示例性地,集成管理工具远程调用脚本对数据库中的对应Tag信息(即识别标签)进行扫描分析,如果扫描结果失败,反馈失败信息利用邮件通知用户,从而解决了由于待变更代码提交频繁,手动触发待变更代码扫描测试会有不同步的问题,藉由Tag信息可以保证测试扫描正确版本的待变更代码。
本发明实施例一通过检测数据库启动一任务创建指令或用户通过启动一任务创建指令,并根据所述任务创建指令自动录入相应的设定参数,以及根据所述设定参数对所述软件中的源代码执行变更操作,从而实现软件集成的自动化,提供产品开发的效率以及降低开发成本。
如图2所示,为本发明实施例二提供的软件的持续集成方法的步骤流程图。
基于上述实施例一所描述的软件的持续集成方法,在此将进一步描述实施例二提供的软件的持续集成方法。上述步骤S110可以包括本实施例二的步骤S210,上述步骤S130可以包括本实施例二的步骤S230至步骤S250。本实施例二的名词含义与上述实施例一的名词含义相同,具体实现细节可以参考实施例一中的说明。
其中,步骤S210:当数据库发生变更时,则启动任务创建指令。
示例性地,所述数据库用于存储所述源代码。在一些其他实施例中,也可以通过接收到来自用户或控制器的任务创建指令。
步骤S220:根据所述任务创建指令自动录入相应的设定参数。
示例性地,所述设定参数包括用于记录所述源代码所需变更项目的识别标签。所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。进一步地,当录入设定参数错误,则触发报错反馈,以此解决手动触发编译(即变更操作)时录入设定参数错误的问题,自动触发编译申请,无需用户提交待变更代码后再手动触发,从而提高效率。
步骤S230:获取所述数据库中的识别标签所对应的源代码。
示例性地,对所述数据库中的源代码进行变更操作时,由于部分源代码保持原有的数据,即存在一部分源代码不需要进行变更操作。
步骤S240:对所述识别标签所对应的源代码进行扫描分析,以得到分析结果。
示例性地,根据识别标签查找需要进行变更操作的源代码,并根据设定参数对需要变更的源代码进行相应的变更操作。
步骤S250:基于所述分析结果,将所述识别标签所对应的源代码执行变更操作,以生成新的源代码。
示例性地,集成管理工具远程调用脚本对数据库中的对应Tag信息(即识别标签)进行扫描分析,如果扫描结果失败,反馈失败信息利用邮件通知用户,从而解决了由于待变更代码提交频繁,手动触发待变更代码扫描测试会有不同步的问题,藉由Tag信息可以保证测试扫描正确版本的待变更代码。进一步地,根据变更操作生成一变更信息没所述变更信息包含任务编译次数、成功/失败次数,最后编译时间、最后编译状态、上传版本服务器地址、版本信息和编译日志信息等。
步骤S260:对所述新的源代码进行测试操作,以获得测试结果,其中测试结果包括静态分析结果和动态分析结果。
步骤S270:将所述测试结果上传至指定的服务器。
示例性地,可以将测试结果通过邮件的方式发送至用户的邮箱中,以方便用户查看相关的测试结果。
为便于更好地实施本申请实施例提供的软件的持续集成方法,本申请实施例还提供一种软件的持续集成装置。其中名词的含义与上述像素的亮度补偿方法中的含义相同,具体实现细节可以参考方法实施例中的说明。
如图3所示,为本发明实施例三提供的软件的持续集成装置的结构示意图。包括:集成管理工具10、目标工具、录入工具20和数据交互模块。
示例性地,所述集成管理模块用于执行本发明实施例所述的软件的持续集成方法。录入工具用于当启动一任务创建指令,向所述集成管理工具自动录入相应的设定参数。
数据交互模块中所有模块用于所述集成管理工具10与目标工具进行数据交互的通道,其中所述数据交互模块包括代码变更检测模块11、代码编辑模块12、反馈模块13、静态分析调用模块14和动态分析调用模块15。
所述目标工具包括数据库30、代码编辑工具40、邮件管理工具50、静态分析工具60、动态测试工具70、服务器80的工具中的至少一个。当然在一些其他实施例中,所述代码变更检测模块和所述代码编辑模块设置于同一个服务器中。以提高代码编辑的效率。
数据库30用于存储所述源代码,所述数据库30通过所述代码变更检测模块11与所述集成管理工具10进行数据交互。代码编辑工具40用于根据所述设定参数对所述源代码执行变更操作,以及通过所述代码编辑模块12与所述集成管理工具10进行数据交互。邮件管理工具50用于接收测试结果和变更操作的反馈信息,以及通过所述反馈模块13与所述集成管理工具10进行数据交互。静态分析工具60用于对新的源代码进行扫描,以获得静态分析结果,以及通过所述静态分析调用模块14与所述集成管理工具10进行数据交互。动态测试工具70用于对所述新的源代码进行扫描,以获得动态分析结果,以及通过所述动态分析调用模块15与所述集成管理工具10进行数据交互。服务器用于接收测试结果,以及通过所述反馈模块13与所述集成管理工具10进行数据交互。
需要说明的是,本文中的“至少一个”,当其与一系列项使用时,是指可以使用一个或多个所列项的不同组合,并且可以需要列表中每个项的仅一个。例如,“项A、项B和项C中的至少一个”可以包括但不限于,项A或项A和项B。该示例还可以包括项A、项B和项C,或项B和项C。在其他示例中,“至少一个”可以是例如但不限于,两个项A、一个项B和十个项C、四个项B和七个项C、或某些其他合适的组合。
本发明实施例三通过检测数据库启动一任务创建指令或用户通过启动一任务创建指令,根据所述任务创建指令自动录入相应的设定参数,根据所述设定参数对所述软件中的源代码执行变更操作。从而实现软件集成的自动化,提供产品开发的效率以及降低开发成本。
本领域普通技术人员可以理解,上述实施例所述方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请任一实施例所提供的一种软件的持续集成方法中的步骤。例如,该计算机程序可以执行如下步骤:
启动一任务创建指令;
根据所述任务创建指令自动录入相应的设定参数;以及
根据所述设定参数对所述软件中的源代码执行变更操作;
其中所述设定参数包括用于记录所述源代码所需变更项目的识别标签。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random AccessMemory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请任一实施例所提供的一种软件的持续集成方法中的步骤,因此,可以实现本申请任一实施例所提供的一种软件的持续集成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (10)
1.一种软件的持续集成方法,其特征在于,包括:
启动一任务创建指令;
根据所述任务创建指令自动录入相应的设定参数;以及
根据所述设定参数对所述软件中的源代码执行变更操作;
其中所述设定参数包括用于记录所述源代码所需变更项目的识别标签。
2.根据权利要求1所述的软件的持续集成方法,其特征在于,所述启动一任务创建指令包括:
当数据库发生变更时,则启动任务创建指令,其中所述数据库用于存储所述源代码。
3.根据权利要求2所述的软件的持续集成方法,其特征在于,所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。
4.根据权利要求3所述的软件的持续集成方法,其特征在于,所述根据所述设定参数对所述软件中的源代码执行变更操作包括:
获取所述数据库中的识别标签所对应的源代码;
对所述识别标签所对应的源代码进行扫描分析,以得到分析结果;
基于所述分析结果,将所述识别标签所对应的源代码执行变更操作,以生成新的源代码。
5.根据权利要求4所述的软件的持续集成方法,其特征在于,还包括:
对所述新的源代码进行测试操作,以获得测试结果,其中所述测试结果包括静态分析结果和动态分析结果;
将所述测试结果上传至指定的服务器。
6.根据权利要求1所述的软件的持续集成方法,其特征在于,所述启动一任务创建指令还包括:
接收到来自用户或控制器的任务创建指令。
7.一种软件的持续集成系统,其特征在于,包括:
集成管理工具,所述集成管理模块用于执行如权利要求1-6任意一项所述的软件的持续集成方法;
录入工具,用于当启动一任务创建指令,向所述集成管理工具自动录入相应的设定参数;
其中所述设定参数包括用于记录源代码所需变更项目的识别标签。
8.根据权利要求7所述的软件的持续集成系统,其特征在于,还包括:数据交互模块,用于所述集成管理工具与目标工具进行数据交互的通道,其中所述数据交互模块包括代码变更检测模块、代码编辑模块、反馈模块、静态分析调用模块和动态分析调用模块,其中所述代码变更检测模块和所述代码编辑模块设置于同一个服务器中。
9.根据权利要求8所述的软件的持续集成系统,其特征在于,所述目标工具包括以下的工具中的至少一个:
数据库,用于存储所述源代码,所述数据库通过所述代码变更检测模块与所述集成管理工具进行数据交互;
代码编辑工具,用于根据所述设定参数对所述源代码执行变更操作,以及通过所述代码编辑模块与所述集成管理工具进行数据交互;
邮件管理工具,用于接收测试结果和变更操作的反馈信息,以及通过所述反馈模块与所述集成管理工具进行数据交互;
静态分析工具,用于对新的源代码进行扫描,以获得静态分析结果,以及通过所述静态分析调用模块与所述集成管理工具进行数据交互;
动态测试工具,用于对所述新的源代码进行扫描,以获得动态分析结果,以及通过所述动态分析调用模块与所述集成管理工具进行数据交互;
服务器,用于接收测试结果,以及通过所述反馈模块与所述集成管理工具进行数据交互。
10.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如权利要求1至6中任意一项所述的软件的持续集成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111500983.1A CN114281682A (zh) | 2021-12-09 | 2021-12-09 | 软件的持续集成方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111500983.1A CN114281682A (zh) | 2021-12-09 | 2021-12-09 | 软件的持续集成方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281682A true CN114281682A (zh) | 2022-04-05 |
Family
ID=80871596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111500983.1A Pending CN114281682A (zh) | 2021-12-09 | 2021-12-09 | 软件的持续集成方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281682A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532189A (zh) * | 2019-07-18 | 2019-12-03 | 中国人民财产保险股份有限公司 | 一种持续集成系统、方法及装置 |
CN110674035A (zh) * | 2019-09-12 | 2020-01-10 | 上海麦克风文化传媒有限公司 | 一种自动化代码扫描方法、系统、装置及存储介质 |
CN113703730A (zh) * | 2021-08-30 | 2021-11-26 | 平安普惠企业管理有限公司 | 持续集成方法、装置、计算机设备及存储介质 |
-
2021
- 2021-12-09 CN CN202111500983.1A patent/CN114281682A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532189A (zh) * | 2019-07-18 | 2019-12-03 | 中国人民财产保险股份有限公司 | 一种持续集成系统、方法及装置 |
CN110674035A (zh) * | 2019-09-12 | 2020-01-10 | 上海麦克风文化传媒有限公司 | 一种自动化代码扫描方法、系统、装置及存储介质 |
CN113703730A (zh) * | 2021-08-30 | 2021-11-26 | 平安普惠企业管理有限公司 | 持续集成方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582301B (zh) | 基于任务调度系统的业务处理方法、装置、设备及介质 | |
US8312322B2 (en) | System for automated generation of computer test procedures | |
CN110058998B (zh) | 软件测试方法及装置 | |
US20170228220A1 (en) | Self-healing automated script-testing tool | |
CN110297767B (zh) | 测试用例自动执行方法、装置、设备及存储介质 | |
CN110647471A (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN108255735B (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN115935035A (zh) | Rpa流程可视化管理方法、装置、设备及可读存储介质 | |
CN108062276A (zh) | 测试用例的生成方法及装置和测试报告的生成方法及装置 | |
CN115617780A (zh) | 数据导入方法、装置、设备及存储介质 | |
CN113377669A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN112416735B (zh) | 一种应用程序检测方法、装置及终端设备、存储介质 | |
CN114281682A (zh) | 软件的持续集成方法、装置及存储介质 | |
WO2023014282A1 (en) | Device and method for automated generation of parameter testing requests | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN114518885A (zh) | 信息收集方法、装置、电子设备及存储介质 | |
CN111694728A (zh) | 脚本的自动化生成方法和装置 | |
CN113821389A (zh) | 固态硬盘的性能测试方法、装置、设备及可读存储介质 | |
CN113256174A (zh) | 异常订单处理方法、装置、存储介质及设备 | |
CN113672497A (zh) | 无埋点事件的生成方法、装置、设备及存储介质 | |
CN114816876B (zh) | 一种服务器Redfish接口规范的自动化测试系统 | |
CN116795064B (zh) | 基于dcs的报警管理方法、电子设备及存储介质 | |
CN111522737B (zh) | 一种前端界面的自动化测试校验方法、装置及存储介质 | |
US20240104085A1 (en) | Computer system and method for evaluating integrity and parsing of a file system and parsing implementation |
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 |