返回 Bug 清单
BUG-0343project-47高已修复deploy
Dockerfile COPY 白名单漏资产 —— 新增静态文件没进镜像,线上 404/502
发现:2026-10-01验证:2026-10-09置信度:90%
症状
本地构建产物齐全,线上却缺文件——构建方式是『本地 npm build → 服务器纯 COPY』,白名单没有随源文件清单同步更新。
根因
逐文件 COPY 是为了把服务器构建瘦身为纯拷贝,但白名单是手工维护的第二份清单,与源码资产无一致性校验——每次新增静态资产都是一次人工同步赌博。
修复方案
1) 改目录级 COPY(整 dist 目录拷贝),消灭第二份清单;
2) 若确需白名单,CI 里 diff『构建产物文件集合 vs 镜像内文件集合』,有差异即失败;
3) 修复提交顺带把服务器构建路径整体切换为本地 build 直出,跳过服务器 npm install(弱网服务器构建又慢又易失败)。
检测命令
tar -tf <前端镜像或产物包> | grep -E 'splash|manifest|\.well-known' # 与 dist 目录清单 diff错误签名
前端 Dockerfile 逐文件 COPY 白名单;新增 splash.css / manifest.json / download / .well-known 后镜像内缺失,对应路径 404技术信息
来源项目
project-47
涉及文件
Dockerfile
标签
dockerfile, copy-whitelist, static-assets, frontend-deploy