[发明专利]一种基于异步机制的分布式的CI/CD的实现方法有效
| 申请号: | 201910764024.7 | 申请日: | 2019-08-19 |
| 公开(公告)号: | CN110471648A | 公开(公告)日: | 2019-11-19 |
| 发明(设计)人: | 孙鹏 | 申请(专利权)人: | 山东浪潮通软信息科技有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/38;G06F8/41;G06F11/36 |
| 代理公司: | 37100 济南信达专利事务所有限公司 | 代理人: | 阚恭勇<国际申请>=<国际公布>=<进入 |
| 地址: | 250100 山东省*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 异步通信机制 分布式架构 计算机软件 系统健壮性 扩展性 产品交付 进程阻塞 软件开发 通信机制 异步机制 用户请求 用户体验 资源占用 迭代 部署 架构 标准化 响应 发布 改造 决策 | ||
本发明提供了一种基于异步机制的分布式的CI/CD的实现方法,属于计算机软件分布式架构、异步通信机制、持续集成(CI)、持续部署(CD)、容器化等技术领域,本发明通过CI/CD流程可以有效降低软件开发快速迭代、频繁发布过程中的人为介入及决策,提高代码质量及产品交付效率;提供标准化环境和流程,降低改造成本、提高扩展性;分布式的部署架构和异步的通信机制,可以进一步提升CI/CD的执行效率、降低资源占用、避免进程阻塞,提高用户请求响应效率,增强系统健壮性并改善用户体验。
技术领域
本发明涉及计算机软件分布式架构、异步通信机制、持续集成(CI)、持续部署(CD)、容器化等技术,尤其涉及一种基于异步机制的分布式的CI/CD的实现方法。
背景技术
随着计算机软件技术的发展及快速更新换代,CI/CD已被广泛用于快速迭代、频繁发布的软件研发过程中。许多公司或团队都将其用于自己产品的研发过程中单元测试、集成测试、部署发布等环节,其中大部分都是使用Gitlab、Jenkins等集成工具实现的单体部署架构,master和worker在同一个(服务器)节点上,集成、部署效率低下,有严重的阻塞,只能适应于单团队或少量团队的CI/CD;进一步,也有许多公司或团队对这些集成工具进行了分布式部署,可以有效提高构建效率,但是对于很多公司或团队无疑是提高了运维成本,所以很多团队开始选择将其集成、部署的过程转移到PaaS(平台及服务)平台;对于PaaS平台,很难将Gitlab、Jenkins等工具直接集成到自己的UI中并实现一系列与之关联的功能,实现规模化管理、调度并对外提供服务更是难上加难。
因此,需要需要一个分布式、异步通信的CI/CD实现方案,以规模化对外提供CI/CD服务、提高用户请求响应效率,进一步改善用户体验。
发明内容
为了解决以上技术问题,本发明提出了一种基于异步机制的分布式的CI/CD的实现方法,能够在规模化应用于PaaS平台提供CI/CD服务的同时,保证其有很好的执行效率和健壮性,进而改善用户体验。
本发明的技术方案是:
一种基于异步机制的分布式的CI/CD的实现方法,包括如下步骤:
S1:与Github、Gitlab集成,建立webhook,在代码变更时或直接触发重新构建时,master创建构建任务;
S2:master直接根据代码分支所处的阶段及服务器负载情况,选择对应的worker发送构建任务;
S3:worker接收到任务,根据代码分支选择镜像、创建容器、更新代码,进行代码编译、单元测试的持续集成操作,并直接返回任务创建状态以响应master的构建请求;
S4:持续集成依赖容器化技术,每个构建创建一个容器,并将构建过程按规则输出到日志文件中,然后对日志文件进行读取和更新,并更新构建状态及状态信息到数据库;
S5:通过定时任务,将构建的状态及状态信息返回到master并进行存储,借助即时提醒更新功能,实时、动态更新界面UI的构建状态及状态信息;
S6:构建成功后,根据代码分支所处阶段,借助容器化技术,直接在不同的环境进行部署并发布为可用服务;
进一步的,在S1之前包含:创建或选择Github、Gitlab代码仓库,并与PaaS平台项目之间创建webhook,确保在Github、Gitlab代码仓库变化时及时、自动更新PaaS平台项目分支的状态,进而自动触发构建流程;另外,在S1中,用户可以根据自身需求,手动触发构建流程;
所述构建流程,包含master选择worker、发送构建任务,worker选择镜像、创建容器、更新代码、单元测试的流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮通软信息科技有限公司,未经山东浪潮通软信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910764024.7/2.html,转载请声明来源钻瓜专利网。





