# 构建静态文件
FROM node:20-alpine AS build
WORKDIR /app

# OIDC 配置在构建期固化（Vite 只认 VITE_* 变量），由流水线 --build-arg 注入
ARG VITE_OIDC_AUTHORITY
ARG VITE_OIDC_CLIENT_ID
ARG VITE_OIDC_SCOPE
ENV VITE_OIDC_AUTHORITY=$VITE_OIDC_AUTHORITY \
    VITE_OIDC_CLIENT_ID=$VITE_OIDC_CLIENT_ID \
    VITE_OIDC_SCOPE=$VITE_OIDC_SCOPE

COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build

# 纯静态托管：只做 SPA 回退；接口反代由测试环境统一 nginx 负责，本容器不感知后端
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf

# 老内核(CentOS7)下容器内 /run 不可写，pid 改放 /tmp，避免 master 写 pid 失败而退出
CMD ["nginx", "-g", "daemon off; pid /tmp/nginx.pid;"]
