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

  • 在团队动手搭流水线之前,讲清楚持续集成和持续交付有什么不同。
  • 设计流水线:两道关卡指出了自动化必须停下、由判断(或回滚)接手的地方。
  • 审视一条已有的流水线——缺少健康关卡,就等于发布在没有决策的情况下运行。

运作方式

  1. 调整中心主题

    根据项目或课程修改中心主题的名称。

  2. 扩展分支

    编辑想法并添加示例或注释。

  3. 连接相关想法

    绘制跨分支连接;只有方向重要时才使用箭头。

常见问题

CI 和 CD 有什么区别?

持续集成(CI)是自动构建并测试每一次提交的做法,让问题在被引入的那一刻就暴露,而不是等到发布时才浮现。持续交付(CD)接过 CI 的产物,把它通往部署的路径自动化——打包、预发布、发布——并由关卡决定什么时候是安全的。CI 是流水线里的第一道关卡,CD 是它之后的一切。

关卡在 CI/CD 流水线里为什么重要?

因为自动化拿掉了过去用来发现问题的人工检查点。流水线用决策把它们替换掉:测试关卡在一次失败的构建交付出去之前拦住它,健康关卡在一次糟糕的发布交付之后拦住它。图里把两者都画成决策形状,正是这个原因——一条流水线的可信程度,取决于它的关卡。

什么是回滚,流水线为什么需要它?

回滚就是在一次发布上线后失败时,把系统退回上一个已知可用的版本。流水线需要它,因为健康检查并不完美,生产环境也会以预发布环境从未展现过的方式出问题。自动化回滚正是让团队敢于频繁部署的东西——一次糟糕发布的代价,就变成一次回退,而不是一场事故。

制品仓库在其中处在什么位置?

制品仓库是流水线构建出的制品带着版本号存放的地方。之后的每个阶段——预发布、生产、回滚——都从制品仓库部署那一份一模一样的制品,绝不重新构建。这正是部署出去的代码与测试过的代码完全一致的原因,也正是回滚安全的原因:上一个可用版本还在制品仓库里。

在 QueryChart 中编辑此思维导图

在可编辑画布中打开思维导图。移动想法、添加分支并绘制连接。

在 QueryChart 中编辑此思维导图

思维导图中的更多内容