容器平台自动化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高可用
  • 自动伸缩
  • 环境隔离
  • 易维护

 

 

 

 

 

 

 

 

 

参考链接:https://www.cnblogs.com/haowen980/p/9383306.html

posted @ 2022-03-23 15:43  陈晓猛  阅读(419)  评论(0编辑  收藏  举报