Skip to content

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'