1.2 KiB
1.2 KiB
生产一键部署脚本 netstat 端口检测兼容实施记录
问题现象
- 运行
bin/prod/deploy_from_package.sh时出现报错:[2026-04-01 02:45:09] 缺少端口检测命令: ss 或 lsof
根因分析
- 脚本启动后端前会先检查端口检测命令
- 之前的实现只支持
ss和lsof - 用户实际环境中两者都不可用,因此脚本在前置校验阶段直接退出
- 当前仓库开发环境中还存在
netstat,说明“只支持ss/lsof”不是部署链路本身的要求,而是脚本实现约束过窄
修改内容
- 更新
bin/prod/deploy_from_package.sh - 将端口检测命令支持范围从:
sslsof扩展为:sslsofnetstat
- 更新端口检测失败提示文案为“缺少端口检测命令: ss、lsof 或 netstat”
- 更新
bin/prod/deploy_from_package_test.sh - 新增
netstat回退场景自测,验证在PATH中无ss、无lsof、仅有netstat时脚本仍可正常完成部署
验证结果
- 已执行
sh -n bin/prod/deploy_from_package.sh - 已执行
sh bin/prod/deploy_from_package_test.sh - 自测结果覆盖:
- 正常部署成功
- 多个发布 zip 失败
- 仅
netstat可用时,端口监听检测仍然通过