[发明专利]一种自动化软件代码检测方法在审
申请号: | 201710279116.7 | 申请日: | 2017-04-25 |
公开(公告)号: | CN107122299A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 宋富国;徐一珂 | 申请(专利权)人: | 丹露成都网络技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都新驱科为知识产权代理事务所(普通合伙)51251 | 代理人: | 成实,曾娟 |
地址: | 610000 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动化 软件 代码 检测 方法 | ||
技术领域
本发明涉及一种代码的检测方法,具体是指一种自动化软件代码检测方法。
背景技术
现有技术中的代码检测方案都是由人工来操作代码审查工具的,并通过人为的操作来检索代码库并人为的去查看代码中的错误的内容和不规范的内容。该代码检测方案强调了人为的主动性,但却忽视了自动化构建触发。
现有的代码检测方案忽视了代码检测的持续性,同时也没有提供相应的审查结果的汇总报告展示。若一个项目有很多工程以及很多代码版本分支,现有的方案大多需要人为的多次操作审查工具,并手动汇集显示审查的结果,如此便会消耗大量的开发人力以及时间资源,大大加重了企业的负担,不利于提高企业的发展。
发明内容
本发明的目的在于克服上述问题,提供一种自动化软件代码检测方法,能够合理的利用的服务器资源,每天能够自行定时完成检测的过程,无需工作人员再去手动的检测,大大提高了人力资源的利用率。
本发明的目的通过下述技术方案实现:
一种自动化软件代码检测方法,包括以下步骤:
(1)代码数据的编写与存储,根据相应的project及其release编写代码并通过Gitlab服务器接收该代码的数据,并记录与代码对应的project、release以及commit id;
(2)通过jenkins平台对代码数据进行预处理,并根据预处理的结果选择结束本次检测或者进入步骤(3);
(3)对代码进行检测;
(4)对代码的检测结果进行反馈。
步骤(2)中预处理的具体步骤为:
(21)常启的jenkins平台通过Gitlab服务器的接口遍历Gitlab服务器中所有project及其所有release的代码,并获取每个代码最后一次提交的commit id;
(22)jenkins平台将每个最后一次提交的代码的commit id与该jenkins平台在本地存放的data文本库中对应代码的commit id进行对比;
(23)若所有最后提交的代码的commit id均与该jenkins平台在本地存放的data文本库中对应代码的commit id一致,则结束本次检测;若有最后提交的代码的commit id与该jenkins平台在本地存放的data文本库中对应代码的commit id不一致,则将所有不一致的代码的commit id覆盖到本地存放的data文本库中,并将所有不一致的代码的project及其release保存在trigger-list.txt文档中,并进入步骤(3)。
步骤(3)中检测的具体步骤为:
(31)jenkins平台启动sonar工具并读取trigger-list.txt文档,从而获取该trigger-list.txt文档中记录的相应project及其release的代码,依次执行带sonar工具插件的单元测试,完成代码静态检测任务构建;
(32)将相应project及其release的代码的检测数据上传至sonar服务器中。
步骤(4)中,jenkins平台通过sonar工具的接口读取步骤(32)中相应project及其release的代码的检测数据,并将所有的代码的检测数据进行汇总与展示,进而完成了代码的检测结果的反馈。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明拥有高扩展性,能够直接接入单元测试的测试用例并在一次构建中执行,无二次开发成本。
(2)本发明能够每天晚上或凌晨在服务器的空余时间自行的完成相应的检测过程,合理的利用的服务器资源,降低了服务器资源的浪费,也很好的避免检测过程与工作人员的工作发生冲突。
(3)本发明拥有高度的自动化,每天能够自行定时完成检测的过程,无需工作人员再去手动的检测,大大提高了人力资源的利用率,降低了工作人员的工作量,大大提高了工作人员的工作效率以及对时间的利用率。
具体实施方式
下面结合实施例对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
一种自动化软件代码检测方法,包括以下步骤:
(1)代码数据的编写与存储,根据相应的project及其release编写代码并通过Gitlab服务器接收该代码的数据,并记录与代码对应的project、release以及commit id。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于丹露成都网络技术有限公司,未经丹露成都网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710279116.7/2.html,转载请声明来源钻瓜专利网。