feat: 添加 Docker 化部署配置与 CI/CD 自动化

- 新增后端 Dockerfile(Node.js 20 Alpine 基础镜像)

- 新增前端 Dockerfile(多阶段构建:Vite build + Nginx)

- 新增 Nginx 配置(serve 前端静态文件 + 反代 /api)

- 新增 docker-compose.dev.yml 和 docker-compose.prod.yml

- 新增 GitHub Actions 工作流(自动构建推送阿里云镜像)

- 新增 .dockerignore 排除不需要的文件

- 新增部署方案文档
This commit is contained in:
zhang1106
2026-06-15 16:14:08 +08:00
parent 8d600e084b
commit 584c8cf590
10 changed files with 705 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# ============================================
# 后端 Docker 构建忽略文件
# ============================================
# 依赖
node_modules
# 环境配置(运行时挂载)
.env
# 运行时数据(运行时挂载)
uploads
logs
backups
temp
# 数据库文件
*.db
*.sqlite
# 版本控制
.git
.gitignore
# 测试
tests
coverage
*.test.js
# IDE
.idea
.vscode
*.swp
*.swo
# 系统
.DS_Store
Thumbs.db
# npm
npm-debug.log*
+34
View File
@@ -0,0 +1,34 @@
# ============================================
# IDC 设备管理系统 - 后端 Dockerfile
# 基于 Node.js 20 Alpine 构建
# ============================================
FROM node:20-alpine
# 设置工作目录
WORKDIR /app
# 安装系统依赖(如需编译原生模块)
RUN apk add --no-cache tzdata
# 设置时区
ENV TZ=Asia/Shanghai
# 复制依赖配置文件
COPY package.json ./
COPY package-lock.json* yarn.lock* ./
# 安装生产依赖(不安装 devDependencies
RUN npm install --omit=dev --ignore-scripts
# 复制后端代码
COPY . .
# 确保日志和上传目录存在
RUN mkdir -p logs uploads temp backups
# 暴露端口
EXPOSE 8000
# 启动命令
CMD ["node", "server.js"]