持续交付例子
就像自动化生产线,从原材料(需求)输入,到产品(软件)输出,全程自动化,不需要人工干预。
掌握持续交付、持续部署、容器技术以及部署策略(蓝绿部署、金丝雀部署)。
定义:完全自动化的过程,当业务开发完成的时候,可以做到一键部署
主要体现:
| 阶段 | 特点 |
|---|---|
| 需求阶段 | 抛弃传统需求文档,使用便于开发人员理解的用户故事 |
| 开发测试阶段 | 做到持续集成,让测试人员尽早进入项目开始测试 |
| 运维阶段 | 打通开发和运维之间的通路,保持开发环境和运维环境的统一 |
常用方案:
完整的镜像部署(三个环节):
| 环节 | 说明 |
|---|---|
| Build | 将软件编译形成RPM包或Jar包 |
| Ship | 将所需的第三方依赖和第三方插件安装到环境中 |
| Run | 在不同的地方启动整套环境 |
Build → Ship → Run
蓝绿部署=双版本快速切换 | 金丝雀部署=小范围测试
持续交付例子
就像自动化生产线,从原材料(需求)输入,到产品(软件)输出,全程自动化,不需要人工干预。
蓝绿部署例子
就像双车道换道,有新车道(蓝)和旧车道(绿)同时存在,车辆先在新车道试运行,确认没问题后,通过红绿灯(域名解析)将所有车辆切换到新车道。如果新车道有问题,立即切回旧车道。
金丝雀部署例子
就像煤矿工人下井前,先放一只金丝雀进去探测,如果金丝雀没事,人再进去。先让少量用户使用新功能,观察没问题后再推广给所有用户。
| 知识点 | 关键要点 | 记忆口诀 |
|---|---|---|
| 持续交付三阶段 | 需求(用户故事)、开发测试(持续集成)、运维(打通通路) | 三阶段 |
| 持续部署三环节 | Build(编译)→ Ship(安装依赖)→ Run(启动环境) | 三环节 |
| 部署两策略 | 蓝绿部署(双版本切换)、金丝雀部署(小范围测试) | 两策略 |