[发明专利]一种基于云原生的软件开发交付方法及系统在审
申请号: | 202111030540.0 | 申请日: | 2021-09-03 |
公开(公告)号: | CN113741958A | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 李江辉;程燕林;罗瑞;肖潇 | 申请(专利权)人: | 科讯嘉联信息技术有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/41;G06F9/455;G06F11/36 |
代理公司: | 合肥律众知识产权代理有限公司 34147 | 代理人: | 侯克邦 |
地址: | 230000 安徽省合肥市中国(安徽)自由贸易试验区合肥市高*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 原生 软件 开发 交付 方法 系统 | ||
本发明涉及软件开发,具体涉及一种基于云原生的软件开发交付方法及系统,研发人员将开发代码提交至代码仓库进行代码管理;对代码仓库中的代码进行编译构建,并将构建的镜像发送至镜像仓库;构建好镜像后部署云原生组件,从镜像仓库中获取并部署镜像;对软件进行自动化测试,测试人员检查测试报告后进行人工测试;人工测试通过的版本在镜像仓库中对镜像进行标记,并完成生产组件部署;基于云原生组件的运行状态及资源使用率的监控结果,对云原生组件进行弹性伸缩,同时记录云原生组件的运行日志;本发明提供的技术方案能够有效克服现有技术所存在的自动化程度较低、自动部署灵活性差、无法支撑扩容和缩容功能的缺陷。
技术领域
本发明涉及软件开发,具体涉及一种基于云原生的软件开发交付方法及系统。
背景技术
DevOps集文化理念、实践和工具于一身,可以提升高速交付应用程序和服务的能力,与使用传统软件开发和基础设施管理流程相比,有助于更快地发展和改进产品。这种速度的提升能够更好地为用户提供服务,并在市场上更高效地参与竞争。与传统服务相比,微服务架构将大型的复杂系统拆分为独立子项目以实现解耦和快速迭代。但是,微服务架构用于发布频率较高的情况下会导致部署量大幅上升,持续集成和持续交付等DevOps实践经验有助于解决这些问题,能够以安全可靠的方式快速交付。
Jenkins是基于Java开发的持续集成工具,用于自动化各种任务,如构建、测试和部署软件,具体工作过程如图3所示。
使用Jenkins做持续构建存在如下问题:
1)版本控制较弱,Jenkins可以获取GitLab上代码仓库存储库,不能指定分支进行选择构建,并且仓库配置需要单独配置,使用起来较为不便;
2)研发内部逻辑比如提测自动打Tag,部署在远程服务器进行启停服务也需要写脚本实现;
3)Docker集成体验还不够好,Jenkins是通过插件来集成Docker的,但是Jenkins的插件仓库有不止一个的Docker插件,使用起来不方便,需要配置。
采用Jenkins作为持续构建的工具,需要维护一套脚本来支撑构建过程,在自动部署上需要根据指定服务进行部署,无法支撑扩容、缩容等功能。
发明内容
(一)解决的技术问题
针对现有技术所存在的上述缺点,本发明提供了一种基于云原生的软件开发交付方法及系统,能够有效克服现有技术所存在的自动化程度较低、自动部署灵活性差、无法支撑扩容和缩容功能的缺陷。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
一种基于云原生的软件开发交付方法,包括以下步骤:
S1、研发人员将开发代码提交至代码仓库进行代码管理;
S2、对代码仓库中的代码进行编译构建,并将构建的镜像发送至镜像仓库;
S3、构建好镜像后部署云原生组件,从镜像仓库中获取并部署镜像;
S4、对软件进行自动化测试,测试人员检查测试报告后进行人工测试,若人工测试不通过则返回S1,否则进入S5;
S5、人工测试通过的版本在镜像仓库中对镜像进行标记,并完成生产组件部署;
S6、基于云原生组件的运行状态及资源使用率的监控结果,对云原生组件进行弹性伸缩,同时记录云原生组件的运行日志。
优选地,S2中对代码仓库中的代码进行编译构建,并将构建的镜像发送至镜像仓库,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科讯嘉联信息技术有限公司,未经科讯嘉联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111030540.0/2.html,转载请声明来源钻瓜专利网。