CI/CD 流水线——从提交到生产环境 · 思维导图
CI/CD 流水线——从提交到生产环境. 可编辑的思维导图,以彩色分支、子主题和曲线连接呈现想法。 曲线表示联系;只有方向重要时才使用箭头。
CI/CD 把从一次代码提交到生产环境的路径自动化:持续集成对每一次改动做构建和测试,持续交付则把它打包并部署出去,中间由关卡决定这次发布是否健康到足以留下。
CI/CD 流水线——从提交到生产环境 · 思维导图
The interactive MindMap canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.
如何阅读这张思维导图
- 从中心主题开始,沿着彩色分支探索相关想法。
- 曲线表示联系;只有方向重要时才使用箭头。
Commit & build
这一分支汇集 “Developer commits code”, “CI server builds the application”.
Verify
这一分支汇集 “Unit and integration tests run”, “The gate is what makes it CI: a commit that fails a test or a security scan never reaches the registry, let alone production.”, “Build failed — fix and recommit”.
Package
这一分支汇集 “Package the artifact and push to the registry”.
Release
这一分支汇集 “Deploy to staging and run smoke tests”, “Deploy to production”.
Observe & recover
这一分支汇集 “Deployment is not the end of the pipeline: error rates, latency and availability metrics decide whether the release stays.”, “Release is live and monitored”, “Roll back to the last good version”.
跨分支联系
CI 是任何东西交付之前的那道关卡:对每一次提交都构建和测试,把失败挡在源头。
制品仓库里的制品只构建一次,到处运行——部署的可复现性全靠它。
预发布环境在生产环境看到它之前,先在一个接近生产的环境里验证这份制品。
部署后的健康状况才是真正的关卡——决定发布去留的是监控,不是部署脚本。
没有回滚的流水线不适合自动化;这张画布把回滚画成了一条一等公民的路径。
Key relationships and takeaways
- CI 是任何东西交付之前的那道关卡:对每一次提交都构建和测试,把失败挡在源头。
- 制品仓库里的制品只构建一次,到处运行——部署的可复现性全靠它。
- 预发布环境在生产环境看到它之前,先在一个接近生产的环境里验证这份制品。
- 部署后的健康状况才是真正的关卡——决定发布去留的是监控,不是部署脚本。
- 没有回滚的流水线不适合自动化;这张画布把回滚画成了一条一等公民的路径。
When to use this visual
- 在团队动手搭流水线之前,讲清楚持续集成和持续交付有什么不同。
- 设计流水线:两道关卡指出了自动化必须停下、由判断(或回滚)接手的地方。
- 审视一条已有的流水线——缺少健康关卡,就等于发布在没有决策的情况下运行。
运作方式
调整中心主题
根据项目或课程修改中心主题的名称。
扩展分支
编辑想法并添加示例或注释。
连接相关想法
绘制跨分支连接;只有方向重要时才使用箭头。
常见问题
CI 和 CD 有什么区别?
持续集成(CI)是自动构建并测试每一次提交的做法,让问题在被引入的那一刻就暴露,而不是等到发布时才浮现。持续交付(CD)接过 CI 的产物,把它通往部署的路径自动化——打包、预发布、发布——并由关卡决定什么时候是安全的。CI 是流水线里的第一道关卡,CD 是它之后的一切。
关卡在 CI/CD 流水线里为什么重要?
因为自动化拿掉了过去用来发现问题的人工检查点。流水线用决策把它们替换掉:测试关卡在一次失败的构建交付出去之前拦住它,健康关卡在一次糟糕的发布交付之后拦住它。图里把两者都画成决策形状,正是这个原因——一条流水线的可信程度,取决于它的关卡。
什么是回滚,流水线为什么需要它?
回滚就是在一次发布上线后失败时,把系统退回上一个已知可用的版本。流水线需要它,因为健康检查并不完美,生产环境也会以预发布环境从未展现过的方式出问题。自动化回滚正是让团队敢于频繁部署的东西——一次糟糕发布的代价,就变成一次回退,而不是一场事故。
制品仓库在其中处在什么位置?
制品仓库是流水线构建出的制品带着版本号存放的地方。之后的每个阶段——预发布、生产、回滚——都从制品仓库部署那一份一模一样的制品,绝不重新构建。这正是部署出去的代码与测试过的代码完全一致的原因,也正是回滚安全的原因:上一个可用版本还在制品仓库里。
在 QueryChart 中编辑此思维导图
在可编辑画布中打开思维导图。移动想法、添加分支并绘制连接。