CI/CD
入门预计上手 2-4 周星团 云与基础设施
岗位需求
2 核心 · 3 加分
在职岗位将其列为技能要求
核心岗位薪资带
15k-48k
核心要求岗位的月薪区间
需求趋势
上升 1稳定 1收缩 0
核心要求岗位的趋势分布
面试题库
高频真题 · 参考答案随题展开1. CI 与 CD 分别指什么?流水线如何设计阶段?
CI 持续集成:频繁合入主干,每次提交自动构建加测试加静态检查,尽早暴露集成问题,核心是快速反馈与小步合入。CD 有两个含义:持续交付指构建产物随时可部署(自动发布到类生产环境,上生产需人工批准);持续部署则一路自动推到生产。典型流水线阶段:代码检查(lint、格式、类型、安全扫描)并行跑单元测试;构建镜像或制品并打哈希版本;集成与端到端测试(起依赖容器跑接口与 UI 用例);制品入库(镜像仓库、制品库加签名);部署阶段(先预发验证再生产,金丝雀放量);发布后验证(冒烟、监控与告警联动,失败自动回滚)。设计原则:快速反馈优先(分钟级给结果)、失败即停并明确责任阶段、每个制品可追溯(commit 加流水线号)、机密用凭据管理不进代码。能画出阶段图并给每段准入准出即优秀。
2. GitHub Actions 的核心概念有哪些?
Workflow 是 .github/workflows 下的 yaml 文件,由事件触发(push、pull_request、schedule、workflow_dispatch 手动)。Job 是虚拟机运行单元(ubuntu-latest 等),默认并行、needs 声明依赖串行,可 matrix 矩阵展开多版本多系统组合。Step 是 job 内顺序步骤,可跑 shell 或引用 action(uses 引第三方动作,可固定 commit 哈希防供应链风险)。Runner 是执行机(托管或自建 self-hosted)。上下文与表达式:secrets 注入机密(不回显日志)、env 与 matrix 变量、if 条件跳过。缓存与产物:actions/cache 按键缓存依赖目录(键含锁文件哈希),artifacts 跨 job 传构建产物,服务容器(services)起数据库依赖。并发控制:concurrency 组取消同分支旧跑。能讲触发、job 依赖、matrix、缓存四点并写一个 node 项目工作流示例即完整。
3. 流水线太慢,有哪些提速手段?
先测量再优化:各 job 与 step 耗时分布定位瓶颈。提速清单:缓存依赖——包管理缓存(npm、maven、pip)按键命中,锁文件哈希做 key;并行化——测试分片(shard 并行跑用例集)、matrix 拆平台与模块、无依赖 job 全并行;增量化——只构建受影响模块(monorepo 影响面检测)、测试按 diff 选case(风险与补偿并存)、远程缓存共享构建产物(Turborepo、Gradle remote build cache);减少环境开销——容器镜像分层预烘依赖、选更小 runner 镜像、docker build 用 buildkit 缓存挂载(cache mounts 装依赖层);流程治理——merge queue 减少重复跑、跳过文档-only 变更(paths 过滤)、发布流水线与 CI 分离降低排队;资源上——自建 runner 扩并发、大任务升规格。答出缓存、分片并行、增量三板斧并强调先测量即好。
4. 测试金字塔与质量门禁如何设计?
测试金字塔:底层大量单元测试(毫秒级、占比七成,mock 依赖,逻辑正确性)、中层适量集成测试(真实数据库与中间件容器,测接口与模块协作)、顶层少量端到端测试(真实链路,测关键用户旅程),另辅静态检查(lint、类型、安全扫描)与契约测试(消费者驱动防止接口破坏)。金字塔反模式是冰淇淋筒(大量脆弱 UI 测试)导致慢且误报多。质量门禁是把质量规则固化到流水线:PR 级门禁——单测通过、覆盖率不低于基线且新代码覆盖达标(diff coverage)、lint 零错误、安全扫描无高危(依赖与镜像)、冲突与迁移检查;合并级门禁——集成与 e2e 通过、制品签名;发布级门禁——性能基准不回退、冒烟通过、审批记录。失败即阻断合并,规则要少而准防「红着过」。能分层给例子并讲覆盖率指标的正确用法(新代码覆盖)即优秀。
5. 蓝绿、滚动、金丝雀发布分别是什么?如何选?
滚动发布:逐批替换旧实例(maxSurge 与 maxUnavailable 控节奏),资源省、自动化的默认方式,但新旧版本共存期长,需要接口与数据库变更向后兼容(扩展加收缩两阶段),出问题回滚是再滚动一遍较慢。蓝绿发布:两套完整环境,切换流量瞬间完成,回滚等于切回旧环境秒级,代价是双倍资源与数据库双写的复杂性,适合大版本切换与需要快速回滚的场景。金丝雀(灰度)发布:先放小流量(百分之一)到新版本,按指标(错误率、延迟、业务转化)观察,逐步放量到全量,配合特征路由(内部员工、白名单、地域)收集真实反馈,自动化分析加异常自动回滚,适合高风险变更与大型在线服务。落地依赖:流量入口可控(网关或服务网格)、指标实时可观测、数据变更兼容。选型口诀:日常迭代滚动,高风险用金丝雀加自动回滚,重大重构用蓝绿兜底。
官方文档
2 条官方中文手册,工作流语法与 runner 生态齐全
内置 CI 的完整平台文档,pipeline 配置权威参考
推荐教程
1 条老牌 CI 的官方指南,pipeline 即代码入门
推荐课程
1 条官方互动式工作流课程,边写边学的最佳入口
上手实践
1 条官方工作流模板集,抄模板起步最快
难度档决定星等与难度分权重(入门 1 / 进阶 2 / 精通 3);学习资源由编辑部遴选并持续维护, 经验心得欢迎在上方「知识分享」区署名分享。

