切换配色
不可变发布与回退
直接在网站当前目录覆盖文件很方便,却可能让访问者在上传过程中同时拿到新旧资源。不可变发布用一个新目录接收完整产物,验证后再一次性切换入口。
基本结构
text
releases/
20260722T120000Z-ab12cd34/
20260718T093000Z-ef56ab78/
current -> releases/20260722T120000Z-ab12cd34
previous -> releases/20260718T093000Z-ef56ab78每个版本一旦上传完成就不再修改。current 只是指向当前版本的软链接,切换动作很快,也容易审计。
健康检查决定结果
切换之后立刻通过本机 Host 头访问 Nginx,检查状态码和页面标识。如果失败,current 恢复到 previous,重新加载配置并再次检查。回退不是临时想办法,而是发布脚本中的正常分支。
个人项目也值得做
个人服务器没有专职值班人员,更需要降低夜间手工修复的概率。两到三个历史版本通常已经足够,不必照搬大型平台的复杂发布系统。