build / release / run 分离
4 分钟阅读 · 更新于 2026-05-29T04:34:26.234808Z · #12-factor #deployment #ci
三阶段
- Build —— 代码 → 不可变 artifact(镜像 / 二进制 / tar)
- Release —— artifact + config → 可执行 release(带 ID)
- Run —— 在目标环境执行 release
反例
- SSH 上服务器改代码 = 跳过 build
- 镜像里写死 prod URL = 跳过 release
- 在 prod 上动态拉代码 = run 不可重现
实践
GitHub Actions 里 build → push 镜像 (sha tag);部署时镜像 ID + env file 组合成 release;k8s manifest 指明 release。回滚 = 切回上一个 release ID,不重新 build。