Files
jiawei bc3651da1e
central-platform-frontend / deploy (push) Failing after 2s
feat: 增加cicd
2026-10-04 06:55:48 -07:00

39 lines
907 B
Docker

FROM node:22-alpine AS builder
WORKDIR /app
RUN npm install -g pnpm@10
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
RUN pnpm install --frozen-lockfile
# NEXT_PUBLIC_* 会在构建时内联进浏览器代码,必须通过构建参数传入
ARG NEXT_PUBLIC_API_BASE_URL
ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL \
NEXT_TELEMETRY_DISABLED=1
COPY . .
RUN pnpm build
FROM node:22-alpine
ENV NODE_ENV=production \
NEXT_TELEMETRY_DISABLED=1 \
HOSTNAME=127.0.0.1 \
PORT=22786
WORKDIR /app
COPY --from=builder --chown=node:node /app/.next/standalone ./
COPY --from=builder --chown=node:node /app/.next/static ./.next/static
COPY --from=builder --chown=node:node /app/public ./public
USER node
EXPOSE 22786
HEALTHCHECK --interval=10s --timeout=5s --start-period=10s --retries=3 \
CMD wget -q --spider http://127.0.0.1:22786/ || exit 1
CMD ["node", "server.js"]