标准答案

  1. 提交阶段至少包含格式与静态检查、单元测试、依赖解析和必要的类型或编译检查。
  2. 构建阶段产出带版本和提交信息的不可变制品,并记录依赖、构建环境和校验信息。
  3. 安全阶段检查依赖漏洞、密钥泄露、镜像基础层和高风险配置,严重问题应阻止进入发布。
  4. 部署阶段按环境执行配置校验、灰度、健康验证、指标观测和回滚判断,并保留完整审计记录。

题目解析

流水线的核心不是工具数量,而是每一道门禁都有明确目标和失败处理。例如单元测试拦业务回归,镜像扫描拦已知漏洞,健康检查拦不可接流量实例。

制品应只构建一次、在不同环境中提升使用。每个环境重新构建会让“测试通过的东西”和“生产上线的东西”不再是同一个对象。

常见误区

  • 生产部署时重新拉取 latest 依赖或重新构建,无法追溯实际代码。
  • 把所有耗时检查放进本地提交,导致开发者通过跳过检查绕开门禁。
  • 部署成功只看命令退出码,没有验证服务健康和业务指标。

作者信息