joeの小窝

Loading...

cicd详解

cicd详解

1、cicd是什么

img

让代码写完后,自动编译、测试、打包、上线,不用人工一步步操作

1、ci(Continuous Integration) 持续集成

多人写代码,频繁合并到主干

自动:编译,单元测试,代码检查

目标:尽早发现bug,避免到部署的时候炸锅

在awx对接gitlab中就是

  • 把代码打包,编译,检查

  • 在gitlab中提交yml代码,awx把它拉取下来,确保这个代码跑的通,语法没有问题

2、cd(Continuous Deployment) 持续部署

持续交付: 在CI的基础上,将集成到主干的代码,产出的可部署软件版本,部署到类生产环境进行测试验证,没问题在手动部署到生产环境。

持续部署: 在持续交付基础上,部署到生产环境是自动操作的。

在awx对接gitlab中就是

  • 把打包好的东西,自动的放到服务器上运行

  • awx拿到没有问题的代码,在k8s里面创建临时pod,去控制目标节点执行任务

3、完整的流程(awx+gitlab)

ci(输入与构建)

  • 在本地写好yml文件

  • 推送到gitlab仓库

  • ci阶段 AWX 从 GitLab 拉取代码,进行语法检查(Syntax Check),确保代码没问题。

cd(测试与部署)

  • 代码检查通过

  • 在k8s中自动创建临时pod(这个是执行环境)

  • Pod 里运行 Ansible,去连接你的被控节点,执行配置修改、软件安装等操作

  • 执行完毕,Pod 销毁,任务完成

4、总结

持续交付的最终流程

img

容器实现CICD的优势:

  • 标准化打包方式,解决应用部署依赖问题。
  • 屏蔽不同语言、不同框架、不同系统之间的持续集成与持续交付流程的差异性
  • 提升软件交付和迭代效率,还能避免交付内容不同导致的人为错误。
posted @ 2026-04-13 21:56  乔的港口  阅读(46)  评论(0)    收藏  举报