feat: Phase 1 完成 — 基础设施 + 用户认证 + 管理端 + 端到端验证
Phase 1 (基础设施与用户认证) 全部 11 个 Task 开发完成: 后端 (Go): - Auth 模块: 注册/登录/JWT(有状态)/Profile/密码修改 - Admin 模块: 用户列表/详情/禁用/启用/角色分配/创建用户 - 中间件: JWT认证 + RBAC角色权限 + 请求日志 + CORS + Panic恢复 - Dockerfile 多阶段构建 + Docker Compose 全栈部署 前台 (uni-app): - 登录/注册页面 + 自定义 TabBar + 个人中心 - 请求封装 + 状态管理 (Pinia) 管理端 (Vue 3 + Element Plus): - 登录/仪表盘/用户列表/用户详情 - Axios 封装 + 路由守卫 + Pinia 状态管理 验证: - 全流程 API 端到端测试通过 - Playwright 页面自动化验证通过 - code-reviewer 代码审查通过 Made-with: Cursor
This commit is contained in:
48
backend/go-service/Dockerfile
Normal file
48
backend/go-service/Dockerfile
Normal file
@@ -0,0 +1,48 @@
|
||||
# ============================================================
|
||||
# EchoChat Go 后端服务 Dockerfile
|
||||
# 多阶段构建:编译阶段 → 运行阶段(alpine 最小镜像)
|
||||
# ============================================================
|
||||
|
||||
# --- 第一阶段:编译 ---
|
||||
FROM golang:1.23-alpine AS builder
|
||||
|
||||
# 安装编译依赖(CGO 需要 gcc)
|
||||
RUN apk add --no-cache gcc musl-dev
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 先复制依赖文件利用 Docker 缓存层
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
# 复制全部源码并编译
|
||||
COPY . .
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /build/echochat ./cmd/server
|
||||
|
||||
# --- 第二阶段:运行 ---
|
||||
FROM alpine:3.19
|
||||
|
||||
# 安装运行时依赖(时区数据 + CA 证书)
|
||||
RUN apk add --no-cache ca-certificates tzdata
|
||||
|
||||
# 设置时区为上海
|
||||
ENV TZ=Asia/Shanghai
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 从编译阶段复制二进制文件
|
||||
COPY --from=builder /build/echochat .
|
||||
|
||||
# 复制配置文件目录
|
||||
COPY --from=builder /build/config ./config
|
||||
|
||||
# 创建日志目录
|
||||
RUN mkdir -p /app/logs
|
||||
|
||||
EXPOSE 8085
|
||||
|
||||
# 健康检查
|
||||
HEALTHCHECK --interval=10s --timeout=3s --start-period=5s --retries=3 \
|
||||
CMD wget -q -O /dev/null http://localhost:8085/health || exit 1
|
||||
|
||||
CMD ["./echochat"]
|
||||
Reference in New Issue
Block a user