[发明专利]一种代码持续交付的方法在审
申请号: | 202010022326.X | 申请日: | 2020-01-09 |
公开(公告)号: | CN111258709A | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 姚松林;谢赟;吴新野;黄海清;罗明刚 | 申请(专利权)人: | 上海德拓信息技术股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/36;G06F8/41 |
代理公司: | 上海湾谷知识产权代理事务所(普通合伙) 31289 | 代理人: | 倪继祖 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 持续 交付 方法 | ||
本发明公开了一种代码持续交付的方法,使用容器安装代码持续交付过程中的各种工具,包括:接收开发人员提交的代码;将所述代码输入编译工具进行编译,编译处理后的所述代码经过静态扫描工具;接收所述静态扫描工具对所述代码的第一执行结果;根据第一执行结果判断所述代码是否可用于持续交付;将可用于持续交付的代码持续交付。从而有效提高代码交付的速度。
技术领域
本发明涉及软件工程技术领域,特别是涉及一种代码持续交付的方法。
背景技术
代码持续交付是一种软件工程手法,让软件产品在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以发布的状况。持续交付的目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。持续交付在持续集成的基础上,将集成后的代码部署到“类线上环境”中,即部署到贴近真实运行的环境中。
代码持续交付过程中需要持续集成代码,软件研发团队的成员经常需要集成他们的代码编写工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次代码集成都通过自动化的构建,通过各种流程来验证代码。从每次软件开发人员提交代码到合仓,每次构建流程的时间成本都客观存在,然而在不同的软件生命周期、客户现场的真实需求、项目开发的实际进度等不同情况下,过于滞后的构建时间会严重影响代码和软件的交付时间。
发明内容
本发明的目的在于提供一种代码持续交付的方法,有效提高代码交付的速度。
实现上述目的的技术方案是:
一种代码持续交付的方法,使用容器安装代码持续交付过程中的各种工具,包括:
接收开发人员提交的代码;
将所述代码输入编译工具进行编译,编译处理后的所述代码经过静态扫描工具;
接收所述静态扫描工具对所述代码的第一执行结果;
根据第一执行结果判断所述代码是否可用于持续交付;
将可用于持续交付的代码持续交付。
优选的,还包括:
编译处理后的所述代码还经过单元测试工具或者行覆盖率统计工具;
接收所述单元测试工具或所述行覆盖率统计工具反馈的第二执行结果;当所述第二执行结果由所述单元测试工具反馈时,所述第二执行结果为所述单元测试工具对所述代码的单元测试结果;当所述第二执行结果由所述行覆盖率统计工具反馈时,所述第二执行结果为所述行覆盖率统计工具对所述代码所执行测试的行覆盖率的统计结果;
根据所述第一执行结果和所述第二执行结果判断所述代码是否可用于持续交付。
优选的,还包括:
编译处理后的所述代码或者满足持续交付并部署后的代码,经过自定义测试脚本或者系统测试,获得第三执行结果。
优选的,系统测试分为功能测试和健壮性测试。
优选的,还包括:
编译处理后的所述代码经过人工评审,获得第四执行结果;
根据所述第一执行结果、所述第二执行结果、所述第三执行结果和第四执行结果,判断所述代码是否可用于持续交付。
优选的,所述编译工具为Maven(项目对象模型),所述静态扫描工具为SonarQube(管理源代码质量的一个开源平台);所述单元测试工具为Junit(一个单元测试框架),所述行覆盖率统计工具为Jacoco(一个开源的代码覆盖率工具)和Cobertura Coverage(一种测试覆盖率报告方案);所述人工评审使用Gerrit(一种开放源代码的代码审查软件,使用网页界面)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海德拓信息技术股份有限公司,未经上海德拓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010022326.X/2.html,转载请声明来源钻瓜专利网。