# 构建静态文件
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 从 /run 改到 /tmp
# （官方镜像默认是 daemon off，直接沿用，无需再传 pid 参数）
RUN sed -i -E 's#^pid[[:space:]]+[^;]+;#pid /tmp/nginx.pid;#' /etc/nginx/nginx.conf
