一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

软件的持续集成方法、装置及存储介质与流程

2022-04-06 22:11:23 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种软件的持续集成方法、装置及存储介质。


背景技术:

2.对于很多软件公司来说,软件在产品研发阶段性完成之后需提交测试,以及在测试之后需要进行编译和发布,通常的做法是通过一个脚本或者持续集成(continuous integration,简称ci)工具(如jenkins)来进行自动编译,然后将编译后的软件提交测试,或者需要发布的情况下由配置管理员或产品测试人员发送邮件进行发布并将代码进行归档。但是这些过程,需要手动介入的操作过多,需要处理的环节从源代码管理工具、编译脚本或ci工具、版本提测、代码归档、版本发布等经历若干个手工处理环节,系统和系统之间的工作容易因工作繁忙等原因而不能高效串联,同时人为操作也容易引有疏漏或误操作。


技术实现要素:

3.本发明的目的在于,本发明实施例提供一种软件的持续集成方法、装置及存储介质,旨在有效解决现有技术的软件版本持续集成需要手动操作,效率低出错率高的问题。
4.根据本发明的一方面,本发明提供一种软件的持续集成方法,所述方法包括:启动一任务创建指令;根据所述任务创建指令自动录入相应的设定参数;以及根据所述设定参数对所述软件中的源代码执行变更操作;其中所述设定参数包括用于记录所述源代码所需变更项目的识别标签。
5.进一步地,所述启动一任务创建指令包括:当数据库发生变更时,则启动任务创建指令,其中所述数据库用于存储所述源代码。
6.进一步地,所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。
7.进一步地,所述根据所述设定参数对所述软件中的源代码执行变更操作包括:获取所述数据库中的识别标签所对应的源代码;对所述识别标签所对应的源代码进行扫描分析,以得到分析结果;基于所述分析结果,将所述识别标签所对应的源代码执行变更操作,以生成新的源代码。
8.进一步地,所述方法还包括:对所述新的源代码进行测试操作,以获得测试结果,其中测试结果包括静态分析结果和动态分析结果;将所述测试结果上传至指定的服务器。
9.进一步地,所述启动一任务创建指令还包括:接收到来自用户或控制器的任务创建指令。
10.根据本发明的另一方面,本发明提供一种软件的持续集成系统,包括集成管理工具,所述集成管理模块用于执行本发明任一所述的软件的持续集成方法;录入工具,用于当启动一任务创建指令,向所述集成管理工具自动录入相应的设定参数;其中所述设定参数包括用于记录源代码所需变更项目的识别标签。
11.进一步地,所述系统还包括:数据交互模块,用于所述集成管理工具与目标工具进行数据交互的通道,其中所述数据交互模块包括代码变更检测模块、代码编辑模块、反馈模块、静态分析调用模块和动态分析调用模块,其中所述代码变更检测模块和所述代码编辑模块设置于同一个服务器中。
12.进一步地,所述目标工具包括以下的工具中的至少一个:数据库,用于存储所述源代码,所述数据库通过所述代码变更检测模块与所述集成管理工具进行数据交互;代码编辑工具,用于根据所述设定参数对所述源代码执行变更操作,以及通过所述代码编辑模块与所述集成管理工具进行数据交互;邮件管理工具,用于接收测试结果和变更操作的反馈信息,以及通过所述反馈模块与所述集成管理工具进行数据交互;静态分析工具,用于对新的源代码进行扫描,以获得静态分析结果,以及通过所述静态分析调用模块与所述集成管理工具进行数据交互;动态测试工具,用于对所述新的源代码进行扫描,以获得动态分析结果,以及通过所述动态分析调用模块与所述集成管理工具进行数据交互;服务器,用于接收测试结果,以及通过所述反馈模块与所述集成管理工具进行数据交互。
13.根据本发明的另一方面,本发明提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行任一所述的软件的持续集成方法。
14.本发明的优点在于,本发明通过检测数据库启动一任务创建指令或用户通过启动一任务创建指令,并根据所述任务创建指令自动录入相应的设定参数,以及根据所述设定参数对所述软件中的源代码执行变更操作,从而实现软件集成的自动化,提高产品开发的效率以及降低开发成本。
附图说明
15.下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
16.图1为本发明实施例一提供的一种软件的持续集成方法步骤流程图。
17.图2为本发明实施例二提供的一种软件的持续集成方法步骤流程图。
18.图3为本发明实施例三提供的软件的持续集成装置的构示意图。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
21.如图1所示,为本发明实施例一提供的软件的持续集成方法的步骤流程图。
22.s110:启动一任务创建指令。
23.示例性地,当数据库发生变更时,则启动任务创建指令,其中所述数据库用于存储所述源代码。或者当接收到来自用户或控制器的任务创建指令时,启动任务创建指令。
24.s120:根据所述任务创建指令自动录入相应的设定参数。
25.示例性地,所述设定参数包括用于记录所述源代码所需变更项目的识别标签。所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。进一步地,当录入设定参数错误,则触发报错反馈,以此解决手动触发编译(即变更操作)时录入设定参数错误的问题,自动触发编译申请,无需用户提交待变更代码后再手动触发,从而提高效率。
26.s130:根据所述设定参数对所述软件中的源代码执行变更操作。
27.示例性地,集成管理工具远程调用脚本对数据库中的对应tag信息(即识别标签)进行扫描分析,如果扫描结果失败,反馈失败信息利用邮件通知用户,从而解决了由于待变更代码提交频繁,手动触发待变更代码扫描测试会有不同步的问题,藉由tag信息可以保证测试扫描正确版本的待变更代码。
28.本发明实施例一通过检测数据库启动一任务创建指令或用户通过启动一任务创建指令,并根据所述任务创建指令自动录入相应的设定参数,以及根据所述设定参数对所述软件中的源代码执行变更操作,从而实现软件集成的自动化,提供产品开发的效率以及降低开发成本。
29.如图2所示,为本发明实施例二提供的软件的持续集成方法的步骤流程图。
30.基于上述实施例一所描述的软件的持续集成方法,在此将进一步描述实施例二提供的软件的持续集成方法。上述步骤s110可以包括本实施例二的步骤s210,上述步骤s130可以包括本实施例二的步骤s230至步骤s250。本实施例二的名词含义与上述实施例一的名词含义相同,具体实现细节可以参考实施例一中的说明。
31.其中,步骤s210:当数据库发生变更时,则启动任务创建指令。
32.示例性地,所述数据库用于存储所述源代码。在一些其他实施例中,也可以通过接收到来自用户或控制器的任务创建指令。
33.步骤s220:根据所述任务创建指令自动录入相应的设定参数。
34.示例性地,所述设定参数包括用于记录所述源代码所需变更项目的识别标签。所述设定参数包括:软件工程名、软件版本号和软件发布日期;其中所述软件版本号包括所述识别标签。进一步地,当录入设定参数错误,则触发报错反馈,以此解决手动触发编译(即变更操作)时录入设定参数错误的问题,自动触发编译申请,无需用户提交待变更代码后再手动触发,从而提高效率。
35.步骤s230:获取所述数据库中的识别标签所对应的源代码。
36.示例性地,对所述数据库中的源代码进行变更操作时,由于部分源代码保持原有的数据,即存在一部分源代码不需要进行变更操作。
37.步骤s240:对所述识别标签所对应的源代码进行扫描分析,以得到分析结果。
38.示例性地,根据识别标签查找需要进行变更操作的源代码,并根据设定参数对需要变更的源代码进行相应的变更操作。
39.步骤s250:基于所述分析结果,将所述识别标签所对应的源代码执行变更操作,以生成新的源代码。
40.示例性地,集成管理工具远程调用脚本对数据库中的对应tag信息(即识别标签)进行扫描分析,如果扫描结果失败,反馈失败信息利用邮件通知用户,从而解决了由于待变更代码提交频繁,手动触发待变更代码扫描测试会有不同步的问题,藉由tag信息可以保证测试扫描正确版本的待变更代码。进一步地,根据变更操作生成一变更信息没所述变更信息包含任务编译次数、成功/失败次数,最后编译时间、最后编译状态、上传版本服务器地址、版本信息和编译日志信息等。
41.步骤s260:对所述新的源代码进行测试操作,以获得测试结果,其中测试结果包括静态分析结果和动态分析结果。
42.步骤s270:将所述测试结果上传至指定的服务器。
43.示例性地,可以将测试结果通过邮件的方式发送至用户的邮箱中,以方便用户查看相关的测试结果。
44.为便于更好地实施本技术实施例提供的软件的持续集成方法,本技术实施例还提供一种软件的持续集成装置。其中名词的含义与上述像素的亮度补偿方法中的含义相同,具体实现细节可以参考方法实施例中的说明。
45.如图3所示,为本发明实施例三提供的软件的持续集成装置的结构示意图。包括:集成管理工具10、目标工具、录入工具20和数据交互模块。
46.示例性地,所述集成管理模块用于执行本发明实施例所述的软件的持续集成方法。录入工具用于当启动一任务创建指令,向所述集成管理工具自动录入相应的设定参数。
47.数据交互模块中所有模块用于所述集成管理工具10与目标工具进行数据交互的通道,其中所述数据交互模块包括代码变更检测模块11、代码编辑模块12、反馈模块13、静态分析调用模块14和动态分析调用模块15。
48.所述目标工具包括数据库30、代码编辑工具40、邮件管理工具50、静态分析工具60、动态测试工具70、服务器80的工具中的至少一个。当然在一些其他实施例中,所述代码变更检测模块和所述代码编辑模块设置于同一个服务器中。以提高代码编辑的效率。
49.数据库30用于存储所述源代码,所述数据库30通过所述代码变更检测模块11与所述集成管理工具10进行数据交互。代码编辑工具40用于根据所述设定参数对所述源代码执行变更操作,以及通过所述代码编辑模块12与所述集成管理工具10进行数据交互。邮件管理工具50用于接收测试结果和变更操作的反馈信息,以及通过所述反馈模块13与所述集成管理工具10进行数据交互。静态分析工具60用于对新的源代码进行扫描,以获得静态分析结果,以及通过所述静态分析调用模块14与所述集成管理工具10进行数据交互。动态测试工具70用于对所述新的源代码进行扫描,以获得动态分析结果,以及通过所述动态分析调用模块15与所述集成管理工具10进行数据交互。服务器用于接收测试结果,以及通过所述反馈模块13与所述集成管理工具10进行数据交互。
50.需要说明的是,本文中的“至少一个”,当其与一系列项使用时,是指可以使用一个或多个所列项的不同组合,并且可以需要列表中每个项的仅一个。例如,“项a、项b和项c中的至少一个”可以包括但不限于,项a或项a和项b。该示例还可以包括项a、项b和项c,或项b和项c。在其他示例中,“至少一个”可以是例如但不限于,两个项a、一个项b和十个项c、四个项b和七个项c、或某些其他合适的组合。
51.本发明实施例三通过检测数据库启动一任务创建指令或用户通过启动一任务创
建指令,根据所述任务创建指令自动录入相应的设定参数,根据所述设定参数对所述软件中的源代码执行变更操作。从而实现软件集成的自动化,提供产品开发的效率以及降低开发成本。
52.本领域普通技术人员可以理解,上述实施例所述方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
53.为此,本技术实施例提供一种存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术任一实施例所提供的一种软件的持续集成方法中的步骤。例如,该计算机程序可以执行如下步骤:
54.启动一任务创建指令;
55.根据所述任务创建指令自动录入相应的设定参数;以及
56.根据所述设定参数对所述软件中的源代码执行变更操作;
57.其中所述设定参数包括用于记录所述源代码所需变更项目的识别标签。
58.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
59.由于该计算机可读存储介质中所存储的指令,可以执行本技术任一实施例所提供的一种软件的持续集成方法中的步骤,因此,可以实现本技术任一实施例所提供的一种软件的持续集成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
60.综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献