# Builder Stage - 使用明确的版本并优化缓存 | |
FROM golang:1.24-alpine as builder | |
# 设置工作目录 | |
WORKDIR /app | |
# 1. 仅复制依赖描述文件 | |
COPY go.mod go.sum ./ | |
# 2. 下载依赖项。这一步会被缓存,只有在 go.mod/go.sum 变化时才会重新运行 | |
RUN go mod download | |
# 3. 复制项目源码 | |
COPY . . | |
# 4. 编译应用。现在此步骤将使用缓存的依赖 | |
RUN go build -o jetbrains-ai-proxy | |
# Final Stage - 保持不变 | |
FROM alpine | |
LABEL maintainer="zouyq <zyqcn@live.com>" | |
COPY --from=builder /app/jetbrains-ai-proxy /usr/local/bin/ | |
ENTRYPOINT ["jetbrains-ai-proxy"] | |