(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211068740.X
(22)申请日 2022.09.02
(71)申请人 上海浪潮云计算 服务有限公司
地址 200072 上海市 静安区江场三路238号
411室
(72)发明人 王超 颜亮 祝乃国
(74)专利代理 机构 济南信达专利事务所有限公
司 37100
专利代理师 姜鹏
(51)Int.Cl.
G06F 9/455(2006.01)
G06F 9/50(2006.01)
G06F 8/71(2018.01)
G06F 8/61(2018.01)
(54)发明名称
一种容器集群环境下构建云原生应用CICD
流水线的方法
(57)摘要
本发明涉及容器编排技术领域, 具体为一种
容器集群环境下构建云原生应用CICD流水线的
方法, 包括以下步骤: 通过GitLab进行代码管理
及版本控制, 并设置Tag推送事件触发Webhook,
Webhook触发Jenkins流水线任务; 在Jenkins中
通过Configure Clouds配置容器集群, 通过
GitLab的Webhook请求触发, 配置的容器集群可
以自动按需创建Jenkins Agent流水线执行器,
执行Jenkins流水线任务, 流水线任务执行完毕
后该执行器会自动销 毁; 有益效果为: 本发明提
出的容器集群环境下构建云原生应用CICD流水
线的方法通过应用的容器集群化部署, 实现了应
用镜像的版本化管理、 应用的自动化部署、 应用
的滚动升级、 应用的灵活扩 缩容。
权利要求书2页 说明书7页 附图3页
CN 115480868 A
2022.12.16
CN 115480868 A
1.一种容器集群环境下构建云原生应用CICD流水线的方法, 其特征在于: 所述该方法
包括:
通过GitLab进行代码管理及版本控制, 并设置Tag推送事件触发Webhook, Webhook触发
Jenkins流水线任务;
在Jenkins中通过Configure Clouds配置容器集群, 通过GitLab的Webhook请求触发,
配置的容器集群可以自动按需创建Jenkins Agent流水线执行器, 执行Jenkins流水线任
务, 流水线任务执 行完毕后该 执行器会自动销毁;
自定义Jenkins Pipeline流水线, 拉取GitLab中的业务代码并进行代码打包, 并将打
包后的Jar包发布到 Maven仓库、 归档到Jen kins服务器;
自定义Jenkins Pipeline流水线, 自动生成打包 “制品发布唯一编号 ”, 将归档到
Jenkins服务器中的制品发布到GitLab仓库版本页, 以供后期下 载使用;
自定义Jenkins Pipeline流水线, 拉取GitLab中的Docker镜像构建配置代码, 通过 “制
品发布唯一编号 ”作为镜像T ag, 通过Kaniko进行Docker镜像构建, 并将构建的镜像推送到
本地Harbor仓库;
根据Harbor的多种镜像分发能力, 实现镜像在不同仓库间的分发与同步;
自定义Jenkins Pipeline流水线, 拉取GitLab中容器集群Manifest或Helm Chart配置
文件, 将配置文件中的Docker镜像T ag修改为本次构建镜像的最新T ag,并推送回GitLab仓
库的固定分支;
GitLab仓库通过固定分支的Push事 件触发Webho ok, Webhook触发ArgoCD部署任务;
ArgoCD自动同步GitLab中最新的容器集群Manifest或Helm Chart配置文件, 并根据其
中配置的最新Docker镜像Tag,在本地Docker仓库拉取镜像, 并根据M ainfest或Chart的配
置进行应用的自动部署。
2.根据权利要求1所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: 自动化部署任务触发方式, 进一 步包括:
通过GitLab仓库进行代码管理及版本控制;
代码管理及版本控制就是通过GitLab仓库进行业务代码、 Docker镜像构建配置、 容器
集群Manifest部署配置的代码管理及版本控制;
通过提交代码, 添加并推送Ta g实现流水线任务触发。
3.根据权利要求2所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: Jen kins Pipeline流水线的执 行步骤, 进一 步包括:
在Jenkins配置中通过Co nfigure Clouds进行容器集群 配置;
详细的, 配置容器集群的名称、 API Server地址、 API Server登录凭证、 执行器自动创
建所在命名空间、 执 行器启动最大 数量、 Pod选择器标签、 Pod的执 行超时时间等信息 。
4.根据权利要求3所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: Pytho n脚本实现GitLab版本发布操作, 进一 步包括:
在Jenkins中自定义的Pipeline流水线中增加步骤, 通过Python脚本自动生成 “制品发
布唯一编号 ”, 通过Python的GitLab版本发布脚本将归档到本地Jenkins中的制品发布到
GitLab仓库版本页, 以供他人 下载使用。
5.根据权利要求4所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其权 利 要 求 书 1/2 页
2
CN 115480868 A
2特征在于: Pytho n脚本实现Docker镜像打包名称及Ta g组织操作, 进一 步包括:
在Jenkins中自定义的Pipeline流水线中增加步骤, 拉取GitLab中容器集群Manifest
或Helm Chart配置文件, 通过Python脚本自动将配置文件 中的Docker镜像Tag修改为本次
构建的最 新Tag,并推送回GitLab仓库的固定分支。
6.根据权利要求5所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: A rgoCD的Webho ok触发, 进一 步包括:
Jenkins Pipeline流水线修改镜像最新Tag并提交GitLab后, GitLab仓库通过配置固
定分支的Push事 件触发Webho ok, Webhook触发ArgoCD部署任务。
7.根据权利要求6所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: GitLab Webhook触发自动部署任务后, ArgoCD自动同步并拉取GitLab中最新的
容器集群Manifest或H elm Chart配置文件, 并根据Jenkin s Pipeline流水线中修改的最新
Docker镜像Tag,在本地Docker仓库拉取镜像, 并根据Mainfest或Chart配置进行应用自动
部署。
8.根据权利要求7所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: 本地Docker仓库 拉取镜像, 需要通过Jenkins Pipeline流水线构建镜像 时将镜
像直接推送的本地仓库, 或是通过Harbor镜像分发同步机制分发。
9.根据权利要求8所述的一种容器集群环境下构建云原生应用CICD流水线的方法, 其
特征在于: ArgoCD自动部署, 需要ArgoCD中配置需部署的目的容器集群的API Server连接
信息。权 利 要 求 书 2/2 页
3
CN 115480868 A
3
专利 一种容器集群环境下构建云原生应用CICD流水线的方法
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:09:20上传分享