mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-11 23:45:11 +08:00
- 在 Dockerfile 中添加构建参数和标签信息用于缓存破坏 - 使用 --chown 确保正确的文件权限并验证构建产物 - 添加构建产物时间戳检查以确保最新性 - 获取并使用版本号进行镜像标签管理 - 添加清理冲突镜像标签的步骤 - 配置多平台构建支持(linux/amd64,linux/arm64) - 添加版本标签和构建参数传递 - 配置构建缓存和镜像推送功能
35 lines
918 B
Docker
35 lines
918 B
Docker
# 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;"] |