基于Kubernetes集群的Jenkins CI/CD版本上线流程部署 您所在的位置:网站首页 版本上线流程 基于Kubernetes集群的Jenkins CI/CD版本上线流程部署

基于Kubernetes集群的Jenkins CI/CD版本上线流程部署

2024-07-15 14:25| 来源: 网络整理| 查看: 265

基于kubernetes平台的CICD持续集成

文章目录 基于kubernetes平台的CICD持续集成 1.基于k8s集群的Jenkins持续集成 2.将Jenkins部署在k8s集群 2.1.编写Jenkins namespace文件 2.2.编写Jenkins rbac授权文件 2.3.编写Jenkins statefulset资源文件 2.4.编写Jenkins StorageClass资源文件 2.5.编写Jenkins svc资源文件 2.6.准备Jenkins镜像并推送至harbor 2.7.创建所有资源并查看资源的状态 2.8.页面安装Jenkins 2.9.登陆Jenkins 3.使用docker部署gitlab 3.1.部署gitlab 3.2.访问gitlab 4.将gitlab部署在k8s集群 4.1.将gitlab镜像推送至harbor仓库 4.2.使用docker运行gitlab查询用户的id号 4.3.编写gitlab StorageClass 资源文件 4.4.编写gitlab statefulset 资源文件 4.5.编写gitlab service 资源文件 4.6.创建所有资源并查看状态 4.7.修改gitlab配置 4.8.访问gitlab 5.提交程序代码到gitlab上 5.1.新建一个项目 5.2.将程序代码提交到gitlab 6.Jenkins集成gitlab 6.1.在Jenkins上安装gitlab插件 6.2.在gitlab上生成token 6.3.在Jenkins添加gitlab api token 7.Jenkins分布式master-slave模式 7.1.新增Jenkins节点 7.2.新建一个任务运行在slave1节点上 7.3.观察节点关联的执行任务 8.使用pipeline流水线将know-system项目更新到kubernetes环境 8.1.实现思路 8.2.将know-system部署在k8s中 8.3.将k8s资源文件提交至gitlab 8.4.编写Jenkins pipeline将项目更新到k8s 8.5.将pipeline粘贴到流水线任务中 8.6.构建master分支完成项目更新

1.基于k8s集群的Jenkins持续集成

Jenkins更新传统LNMT项目流程很简单,Jenkins也只需要部署在物理服务器即可实现项目版本的持续更新迭代

如果项目是部署在k8s集群,Jenkins还在物理机上部署的话,项目更新流程将会变得繁琐,大致流程:首先Jenkins将项目编译成war包,然后将war在一台物理机上运行,如果运行成功,再调用另一个Jenkins任务,这个Jenkins任务主要的作用就是将war包和ROOT目录copy到初始镜像中,当镜像构建完毕后,将镜像推送至harbor平台,再由运维拿着镜像版本放在k8s里去升级。

如果Jenkins只是单单部署在一台物理机上,某台Jenkins挂掉后,整个CI/CD平台将无法更新迭代,这是一个很严重的后果,如果将Jenkins部署在k8s平台,借助k8s pod自愈功能,Jenkins挂掉的情况几乎不会发生。

Jenkins部署在k8s环境之后,通过建立RBAC授权机制,可以实现Jenkins一键更新迭代到k8s环境,无需在使用物理机环境那么繁琐的步骤

当Jenkins与kubernetes集成后的更新流程:

1)Jenkins从gitlab上拉取开发提交的代码

2)Jenkins调用maven进行编译项目

3)Jenkins调用docker将写好dockerfile构建成镜像

4)将镜像推送至harbor仓库

5࿰



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有