deploy-docs.sh
5.35 KB
-
fix(deploy): 自更新后用新版重跑 —— 光包 main() 不够 · 2d7883d3
实测踩到:服务器上脚本是旧版,运行时 git pull 拉到了新版,但**本次进程跑的仍是内存里 已载入的旧版函数** —— 文件已经是 curl -sL 了,报错文案却还是旧版的,排查了一轮才明白。 包在 main() 里解决的是「bash 边读边执行、pull 后按新文件字节偏移读后半段」的错位问题 (deploy-prod.sh 头部注释记的那个);但它防不了「这一轮跑的是旧逻辑」—— 函数在调用前就已整体载入内存,pull 换掉磁盘文件不影响已载入的定义。 修法:pull 前后比对本文件的 blob hash,变了就 exec bash "$0" --no-pull 用新版重跑, --no-pull 同时防无限递归。
luoqi committed