修上一轮清理留下的副作用:占位符把运维脚本弄连不上了 上一个提交把仓库里的服务器 IP 换成了占位符,但**那些脚本本身要用这个 IP 去连服务器** —— 换掉之后它们就跑不起来了。这个提交把取值方式理清楚。 == 取值统一走 _build/lssh.py == YKXMZ_LS_HOST 环境变量 或 _build/.lightsail_host(一行 IP,已 gitignore) 都没有就报错,并告诉你怎么设 十个运维脚本改成 `from lssh import ... HOST as LS_HOST`, 公开仓库里一个具体地址都不留。 == 顺带修的两个自己造的 bug == * 用正则往 `from lssh import ...` 后面追加东西时, 追加到了行尾的 `# noqa: E402` **注释里面** —— 十处导入全是废的,脚本一跑就 NameError。 改成先剥掉注释、拼好导入、再把 noqa 加回去。 * 同一个正则还把 `from lssh import HOST as LS_HOST` 加进了 **lssh.py 自己**,造成自我导入。 教训:**正则批量改导入语句很危险**(注释、行尾、顺序都能坑到), 这种地方宁可逐个 edit。 == 为什么要重建产物 == docs/AFTER-INSTALL.txt 会被打进服务端 zip,而它上一轮改过 (去掉了写死的旧管理员密码)—— 不重打的话发出去的还是旧的。 重打后确认:三个产物里都没有旧密码、没有服务器 IP。 == 验证 == 全量回归退出码 0,41 个阶段全 PASS 603 个 Python 文件语法通过 ykxmz-agent / server / watch 三个产物扫描干净 提交前泄漏闸门通过