Kubernetes 基于 Rancher 流水线 CI/CD 实现自动构建前后端项目

第八章 Kubernetes 基于 Rancher 流水线 CI/CD 实现自动构建前后端项目



一、Rancher 流水线介绍

详细介绍可查看官网:https://docs.rancher.cn/docs/rancher2.5/pipelines/_index

1、功能介绍

  • Rancher 流水线提供了简单的 CI/CD 体验,它可以自动拉取代码,运行构建或脚本,发布 Docker 镜像到私服,以及部署更新软件。
  • 建立流水线可以帮助开发人员尽快,高效地交付新软件。使用 Rancher,您可以与 Gitlab 等版本控制系统集成,以设置持续集成(CI)流水线。

2、流水线工作原理

  • Rancher 项目启动流水线功能后,可以对每个项目配置多条流水线,每一条流水线都是独立的,每条流水线的参数可以单独配置。
  • 在配置流水线之前,需要与代码管理工具进行对接,例如,GitHub,GitLab,Bitbucket,我这里使用 Gitlab 项目管理工具。
  • 当配置完项目的一条流水线时,Rancher 会实例化一个供此项目使用的流水线名称空间,以下组件会部署到名称空间内:
    • 1、jenkins
      • Jenkins 是构建流水线的引擎,用户不会与 jenkins 直接交互,它是被托管的,不能直接管理。
    • 2、Docker 镜像仓库
      • Docker 镜像仓库是存储镜像的组件,在发布镜像的时候,默认会被推送到此仓库,但是可以修改默认配置,为了更好的对镜像版本进行,我这里使用的是自己构建的私服仓库。
    • 3、Minio 是存储 Rancher 流水线日志的组件。

二、构建流水线方式

1、与 Gitlab 版本控制工具对接

这里的 Gitlab 我已经安装完成,这里不在做介绍。

1、Rancher 配置

在这里插入图片描述

2、Gitlab 配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、Rancher 进行 Gitlab 账号验证

将应用程序 ID 和密码复制到 Rancher 的 Application Id 和 Secret 中,并写入 Gitlab 的私服链接。
在这里插入图片描述

4、设置代码仓库

在这里插入图片描述
在这里插入图片描述

2、开始构建后端流水线

在这里插入图片描述

1、选择 master 分支

在这里插入图片描述

2、创建构建流程

在这里插入图片描述

1. Clone
  • 第一步为 rancher 默认操作,去 Gitlab 仓库拉取项目
2. build
  • 第二步开始运行 build 脚本构建项目(后端项目采用 gradle 进行编译)
    在这里插入图片描述
3. plulist
  • 需要在项目根目录创建 Dockerfile 文件,用来构建后端镜像。可根据自己的需求自定义编写,这里不在介绍。

  • 构建厚点项目镜像,并将镜像上传到私服仓库

  • ${CICD_EXECUTION_SEQUENCE}:定义镜像版本号变量
    在这里插入图片描述

4. depaly
  • 部署 YAML 项目,这里 deployment.yaml 文件不在介绍,根据自己需求进行自定义编写,然后保存到代码所选分支的根目录。

在这里插入图片描述

5. 将流水线配置上传到远端 Gitlab 仓库

在这里插入图片描述

6.上传完成之后,在 Gitlab 远端仓库会生成一个 .rancher-pipeline.yml

在这里插入图片描述

7.开始运行流水线

点击运行,查看运行结果。
在这里插入图片描述
在这里插入图片描述

3、开始构建前端项目

1、选择 mster 分支

在这里插入图片描述

2、创建构建流程
1. Clone
  • 第一步为 rancher 默认操作,去 Gitlab 仓库拉取项目
2. build
  • 第二步开始运行 build 脚本构建项目(前端项目采用 node-js 进行编译,这里使用国内淘宝私服,拉取前端项目依赖包。)
    在这里插入图片描述
3.plulist

在这里插入图片描述

4.depaly

在这里插入图片描述

5. 将流水线配置上传到远端 Gitlab 仓库

在这里插入图片描述

6.上传完成之后,在 Gitlab 远端仓库会生成一个 .rancher-pipeline.yml

在这里插入图片描述

7.开始运行流水线

在这里插入图片描述


总结

以上是 Rancher 构建流水线 CI/CD 流水线的全部过程,在构建流水线时,前后端的编译时间特别长,这里使用的都是外网的仓库下载的依赖包,后期会介绍 Nexus 私服仓库,将依赖包缓存到本地私服,提高下载速度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值