b265e299c69bfa23fcf77cf4e1970af2f3af350b
旧 deploy.sh 有三个问题: · 完全不跑迁移 —— 新代码上了、表结构没升,接口会成片 500; · 「先 mv backend backend_old 再解压」存在中间态,解压或 build 失败时远端只剩一个 backend_old,服务当场躺平; · set -e 下还写了 if [ $? -ne 0 ] 检查,根本走不到就已经退出。 新脚本改用 rsync 增量同步:改一个文件只传一个文件,也不会留下半残状态。迁移默认执行(alembic upgrade head 本身幂等,已在 head 时是空操作),不再是「忘了加 --migrate」就埋雷的选填开关。 实测踩到的坑也一并写进脚本: · 容器以 root 写挂载目录、宿主机侧属主是 root,rsync 会报 mkstemp/unlink Permission denied —— [0/5] 先探目录可写性并直接给出 chown 命令; · --delete 前先干跑列出将被删除的文件,不静默删掉远端专有物; · 排除 backend_old / frontend_old / track_backup.sh —— 前者可能有数据库仍在引用的历史上传图,后者是远端专有的运维脚本。
Description
IRIS生成管理APP
Languages
Python
36.2%
TypeScript
33.8%
Vue
27.5%
JavaScript
1.3%
CSS
0.3%
Other
0.9%