外观
08 · 部署与编排
从"能跑起来"到"能反复、可回滚地跑起来"。
小节规划
| 小节 | 内容 | 状态 |
|---|---|---|
| K8s 入门 | 最小集群、Deployment/Service/Ingress/ConfigMap | 已写 |
| Helm 与 Chart | 模板化部署、values 分层 | 已写 |
| CI 流水线 | GitLab CI / GitHub Actions 构建推送镜像 | 已写 |
| 发布脚本 | 软链切换式发布、健康检查后再切流量 | 已写 |
| 灰度与回滚 | 蓝绿、金丝雀、回滚演练清单 | 已写 |
软链式发布的最小可用形态
不需要任何平台,一台机器也能做到秒级回滚:
bash
# 目录约定
# /opt/app/releases/20261027-1530/app.jar
# /opt/app/current -> /opt/app/releases/20261027-1530 (软链)
REL=/opt/app/releases/$(date +%Y%m%d-%H%M)
mkdir -p "$REL" && cp target/app.jar "$REL/"
ln -sfn "$REL" /opt/app/current # 原子换链
systemctl restart app
# 回滚只要一行:指回上一个 release 目录再重启
ls -1dt /opt/app/releases/*/ | sed -n '2p'