feat(polaris)!: 改为 standalone 容器运行
Polaris CI / verify (push) Successful in 1m47s

将 Next.js 构建切换为 standalone,新增多阶段 Docker 镜像和非 root 运行。
CI 改为启动服务检查页面与静态资源,并移除静态导出校验。

BREAKING CHANGE: 不再生成 out/ 静态产物,部署需运行 Node 服务容器。
This commit is contained in:
2026-10-12 17:42:26 +08:00
parent 09e5735162
commit 2c674b7f2d
9 changed files with 126 additions and 61 deletions
+4 -5
View File
@@ -1,4 +1,4 @@
# Next.js Windows 静态导出补丁
# Next.js Windows 静态导出历史补丁
## 原因与范围
@@ -17,13 +17,12 @@
```bash
corepack pnpm install --frozen-lockfile
corepack pnpm build
corepack pnpm verify:export
```
`verify:export` 只读取产物:检查首页、全部分类页和 404,并将每个源 RSC segment 与浏览器所需扁平路径下的导出文件逐字节比较。它不会复制、移动或重命名 `out/` 文件。部署前还需在真实静态服务器上验证预取和客户端导航。
当前项目使用 standalone 服务端输出,不再生成 `out/` 或执行静态导出检查。补丁暂时保留以维持锁文件中的安装约定;服务端产物和 HTTP 路由由 Gitea CI 验证。
## 后续升级
补丁仅绑定 `next@16.3.3`,不会自动迁移到其他版本。升级 Next.js 时必须重新检查上游导出实现、运行构建与 `verify:export`,再进行静态浏览器验收;不能仅以 `next build` 成功判断问题已修复。
补丁仅绑定 `next@16.3.3`,不会自动迁移到其他版本。升级 Next.js 时先评估能否移除这个不再服务当前部署方式的补丁;如果恢复静态导出,再单独验收 Windows 路径与浏览器导航。
上游修复并验收通过后,使用 pnpm 的补丁移除命令清理对应登记和补丁文件,更新锁文件,保留产物回归检查。
决定移除时,同步清理 pnpm 的补丁登记和补丁文件,更新锁文件,并保留服务端 HTTP 回归检查。