diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6dd5e3f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +# 构建阶段:用Debian系的Node20镜像,自带glibc 2.36,完美兼容Rollup4 +FROM node:20-bookworm-slim AS builder + +# 换国内源,下载依赖快10倍 +RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources \ + && apt-get update \ + && apt-get install -y ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# 启用corepack,安装pnpm +RUN corepack enable && corepack prepare pnpm@latest --activate + +WORKDIR /app + +# 先拷依赖配置文件,利用Docker缓存,下次构建不用重新下依赖 +COPY package.json pnpm-lock.yaml ./ + +# 安装依赖 +RUN pnpm install --frozen-lockfile + +# 拷贝所有源码 +COPY . . + +# 限制内存3G,避免把8G服务器撑爆 +ENV NODE_OPTIONS=--max-old-space-size=4072 +# 执行H5构建 +RUN pnpm build:h5