caoqianming
|
4c1a26cee8
|
fix(deploy): update.sh 的 docker build 回到默认 TTY 进度 UI(撤 --progress=plain)
分层折叠刷新的 TTY UI 更直观;step 2 pip 去 -q 已足够让装包进度可见。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 16:07:35 +08:00 |
caoqianming
|
74580e951e
|
fix(deploy): update.sh 加自更新重跑守卫,修"改了源仍报旧错"
脚本 git pull 会改自己:变量默认值在 pull 前已求值、bash 又按字节偏移边读边跑,
首次拉到"改 update.sh"的提交那一轮跑的仍是旧脚本(默认源还是阿里 -> litellm 报缺版本)。
pull 后检出本脚本有变更即 exec 新版本从头重跑(ORIG_ARGS 原样回传,ZCBOT_UPDATE_REEXEC 防死循环)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 16:04:25 +08:00 |
caoqianming
|
4eacfe1bd9
|
fix(deploy): update.sh 默认源改腾讯避开阿里滞后(卡 litellm>=1.83);build 跳过改 --skip-build;进度可见
阿里 PyPI 镜像同步滞后(只到 litellm 1.82.6),撞 requirements 的 >=1.83.0。
- 默认 APT/PIP/NPM 源阿里 -> 腾讯(已到 1.88);step 2 host pip 显式 --index-url(sudo -u 会洗掉 PIP_INDEX_URL env)
- ZCBOT_SKIP_SANDBOX_BUILD=1 env -> --skip-build CLI flag(开发期不留兼容)
- step 2 pip 去 -q + step 4 docker build --progress=plain,部署逐行流式可见
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 16:00:00 +08:00 |
caoqianming
|
b6faeda83d
|
fix(deploy): APP_USER 默认取部署目录属主,不写死 zcbot
与 APP_DIR 同思路:服务用户默认 = 部署目录属主(bootstrap chown 后即服务
用户),仍可 env 覆盖。加两道前置:推成 root 时 warn(服务/沙箱不该跑 root,
HOST_UID 要对齐 bind mount 属主),用户不存在直接 fail。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 15:28:16 +08:00 |
caoqianming
|
e8aeef19de
|
fix(deploy): update.sh 的 APP_DIR 从脚本位置推导,不写死 /opt/zcbot
部署目录 = 脚本所在 deploy/ 的上一级,用 readlink -f 解析(兼容相对路径 /
软链调用),仍可 APP_DIR env 覆盖。换部署路径不必再改脚本字面量。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 15:18:58 +08:00 |
caoqianming
|
f66d55cc3b
|
feat(deploy): 加一键部署脚本 deploy/update.sh(pull/pip/migration/build/restart/healthz)
固化日常部署:git pull --ff-only → pip install → db upgrade head →
docker build sandbox → systemctl restart → curl /healthz 验活。
两处钉死:① migration 不能漏,env.py 直读 os.environ 不读 .env,脚本从
.env 抠 ZCBOT_DB_URL 显式喂进去;② build 必先于 restart —— 容器复用 +
tools/ 烤进镜像,restart 时 shutdown_all 清旧容器,下次 ensure() 才用
新镜像重建。sandbox 每次 build 无所谓(重活在 COPY tools/ 之上,cache
让改代码部署秒过)。镜像源默认阿里,可置空回落官方。前置守卫 + healthz
失败 dump journalctl 非零退出。bootstrap 不进脚本,留 RUN.md。
RUN.md §部署 SOP 重写为指向脚本 + 手动 fallback;PROGRESS 加一条。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-01 14:52:44 +08:00 |