容器平台自动化CI/CD流水线实操
CI/CD————(实操说明)
CI/CD
持续集成(Continuous Integration, CI): 代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈。
持续部署(Continuous Deployment, CD): 部署到测试环境、预生产环境、生成环境。
持续部署(Continuous Delivery, CD): 将最终产品发布到生成环境、给用户使用。
Jenkins与容器技术CI/CD实战
说明:这张图稍微更形象一点,上线之前先把代码git到版本仓库,然后通过Jenkins 如Java项目通过maven去构建,这是在非容器之前,典型的自动化的一个版本上线流程。那它有哪些问题呢?
如:它的测试环境,预生产环境,测试环境。会存在一定的兼容性问题 (环境之间会有一定的差异)
容器化CI/CD
说明:它这里有一个docker harbor 的镜像仓库,通常会把你的环境打包为一个镜像,通过镜像的方式来部署。
Jenkins与Docker的自动化CI/CD流水线实践
Pipeline 有诸多优点,例如:
- 项目发布可视化,明确阶段,方便处理问题
- 一个Jenkins File文件管理整个项目生命周期
- Jenkins File可以放到项目代码中版本管理
Jenkins管理界面
操作实例:Pipeline的简单使用
这里是比较重要的核心,构建流程
点击保存之后,立即构建
映像中普通Jenkins构建方式步骤:
而pipeline 的构建流程:
pipeline有诸多优点:
- 项目发布可视化,明确阶段,方便处理问题
- 一个Jenkins File 文件管理整个项目生命周期
- Jenkins File 可以放到项目代码中版本管理
一个Jenkins file 维护一个生命周期,就像写代码一样,只维护这个file文件就可以了。
小结:
Jenkins与kubernetes搭建CI/CD流水线有诸多好处:
- Jenkins高可用
- 自动伸缩
- 环境隔离
- 易维护