# GitHub Actions 构建用的 Dockerfile # 使用预构建的产物,不包含源代码构建过程 FROM nginx:alpine # 添加构建参数用于缓存破坏 ARG BUILD_DATE ARG VERSION ARG COMMIT_SHA # 添加标签信息 LABEL build.date="${BUILD_DATE}" \ build.version="${VERSION}" \ build.commit="${COMMIT_SHA}" # 复制 nginx 配置文件 COPY nginx.conf /etc/nginx/conf.d/default.conf # 清理默认的 nginx 静态文件 RUN rm -rf /usr/share/nginx/html/* # 复制构建产物到 nginx 静态文件目录 # 这里的 docs 目录是在 GitHub Actions 中构建生成的 # 使用 --chown 确保正确的文件权限 COPY --chown=nginx:nginx docs /usr/share/nginx/html # 验证构建产物 RUN ls -la /usr/share/nginx/html/ && \ test -f /usr/share/nginx/html/index.html || (echo "构建产物验证失败" && exit 1) # 暴露端口 EXPOSE 80 # 启动 nginx CMD ["nginx", "-g", "daemon off;"]