fix(deploy): sync public assets into standalone dist root

Next.js standalone output does not place public/ files at the dist root,
so rsync --delete was removing logo/favicon/fonts/images from production.
Copy public/ into dist after build so Nginx can serve them.
This commit is contained in:
2026-08-18 12:56:19 +08:00
parent 0b4dff0d37
commit 6fa5e4bf32
+8
View File
@@ -136,6 +136,14 @@ cmd_build() {
log "❌ 构建失败:$DIST_DIR 目录不存在"
exit 1
fi
# standalone 构建不会把 public/ 输出到 dist 根目录;
# Nginx 以 dist 作为站点根目录,因此手动同步 public 静态资源(logo、favicon、fonts、images 等)
if [[ -d "$PROJECT_ROOT/public" ]]; then
cp -R "$PROJECT_ROOT/public/." "$DIST_DIR/"
log "✅ public 静态资源已同步到 $DIST_DIR"
fi
log "✅ 构建完成,产物大小: $(du -sh "$DIST_DIR" | cut -f1)"
}