首页/开发/CI/CD 与发布速查/镜像烘焙(Golden Image)与发布
发布策略60 条

镜像烘焙(Golden Image)与发布

预先把操作系统、运行时与依赖烘焙成镜像,发布时只替换镜像:启动更快、行为更稳定;烘焙产物按版本与校验和登记引用。

CI/CD 与发布速查开发更新于 2026-10-13

镜像烘焙是什么

镜像烘焙(bake)把操作系统、运行时与依赖预先构建成黄金镜像:发布或扩容时直接给机器换镜像,启动更快、行为更稳定。烘焙产物是制品,要有版本号与校验和,过安全扫描与启动测试后登记进镜像清单,由发布流水线按版本引用;更新靠重烘焙生成新镜像替代旧镜像。

基本信息

工具Packer 等镜像构建工具
流程构建 → 测试 → 登记 → 发布引用
引用方式版本号加校验和
更新重烘焙生成新镜像替代旧镜像
验证安全扫描加启动冒烟测试
原则不可变基础设施,改动走重烘焙不走手工

烘焙与发布

烘焙与发布
packer build -var 'version=1.9.0' image.pkr.hcl  # 烘焙出新镜像
# 登记:版本号与校验和写入镜像清单  # 可追溯
# 扫描:漏洞扫描通过才进入发布库  # 安全门禁
# 测试:起一台冒烟实例验证启动与探活  # 启动验证
# 引用:发布与扩容按版本号取镜像  # 不引用浮动标签

典型使用场景

  • 弹性扩容:自动伸缩组按黄金镜像快速拉起一致实例
  • 发布提速:启动时不再安装依赖,新机器即刻可用
  • 环境一致:测试与生产用同一镜像消除漂移
  • 合规基线:补丁与加固配置固化进镜像
  • 灾备重建:按镜像版本快速重建整套环境
  • 批量更新:按月重烘焙一次,带上安全补丁

烘焙与运行时安装对比

维度烘焙镜像运行时安装
启动速度快,依赖已固化每次拉取与安装
一致性镜像即基线环境容易漂移
更新节奏重烘焙出新版本随时可装
溯源版本号加校验和难还原当时状态
风险镜像要过发布门禁单机手工改动失控
烘焙镜像要过安全扫描与启动测试:它是制品,不是一次性脚本产物。
引用浮动标签:回滚与审计失去版本锚点。
烘焙脚本与手工改动并存:生产环境最终状态不可复现,手工改动要回写脚本。
旧镜像按保留策略清理:留足回退窗口,过期的及时淘汰。

易错点

  • 引用浮动标签:回滚与审计失去版本锚点。
  • 烘焙脚本与手工改动并存:生产环境最终状态不可复现。
  • 镜像不发版登记:扩容时说不清用的哪个基线。
  • 不做启动测试:坏镜像进入伸缩组后批量起不来。
  • 旧镜像不做清理:存储成本上涨且版本管理混乱。

数据来源与参考

  • HashiCorp Packer 文档《Build an Image》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌