从开发到运维的生命周期
一套服务不是“写完代码就结束”,而是从需求、编码、测试、部署、运行、复盘不断循环。
服务生命周期
graph TD
A[需求] --> B[编码]
B --> C[测试]
C --> D[构建]
D --> E[部署]
E --> F[运行]
F --> G[监控与告警]
G --> H[修复与复盘]
H --> B
每个阶段要交付什么
| 阶段 | 关键问题 | 最小交付物 |
|---|---|---|
| 编码 | 代码能运行吗 | 可启动项目 |
| 测试 | 改动安全吗 | 基础自动测试 |
| 构建 | 能稳定产出包吗 | 镜像或发布包 |
| 部署 | 能重复上线吗 | 发布脚本 |
| 运行 | 出问题能发现吗 | 日志与监控 |
| 恢复 | 失败能回退吗 | 回滚方案 |
DevOps 在哪一段最重要
DevOps 的价值最大在后三段:
- 构建
- 部署
- 运行与恢复
release_checklist:
build: pass
config: reviewed
backup: done
rollback: ready
常见误区
- 把“上线成功”当成结束,而不是开始观察
- 测试只测功能,不测部署流程
- 没有复盘,事故重复发生
本节执行清单
- [ ] 画出你当前项目的生命周期图
- [ ] 确认是否存在“只有某个人会发版”的单点风险
- [ ] 记录当前回滚最快的方法
下一节:单机到云平台的演进路径——看清基础设施为什么会一步步复杂起来。