部署静态站点时如何保留回滚能力

静态站点没有应用进程需要重启,但发布文件时仍然应该保留上一版。这样新版本出现问题时,恢复服务不需要重新构建。

每次发布使用独立目录

把每次构建结果放到带有时间和提交号的目录中,当前服务只指向一个固定的 current 软链接。新文件上传完成并通过基本检查后,再切换这个链接。

切换前后各检查一次

切换前确认新目录存在首页文件和静态资源,切换后确认 current 指向了正确目录,并从正式域名打开首页和文章页。检查通过后再考虑清理很久以前的版本。

回滚应该足够简单

如果发现页面异常,只需要把 current 指回上一版 release,再重新访问站点确认恢复。发布方式越简单,真正出问题时越不容易因为紧张而操作错误。