fix: checkout 后显式 git fetch 切换触发分支,避免始终部署 main 代码;Dockerfile 添加 BuildKit cache mount 加速构建

This commit is contained in:
hhs
2026-06-20 17:43:32 +08:00
parent 6bb4773e07
commit 12e2d24f37
3 changed files with 28 additions and 7 deletions

View File

@@ -8,11 +8,19 @@ ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct
# 先复制依赖清单,利用 Docker 缓存层
COPY go.mod go.sum ./
RUN go mod download
# --mount=type=cache 复用 Go module 缓存,依赖不变时跳过下载
RUN --mount=type=cache,target=/go/pkg/mod \
go mod download
# 复制源码并构建
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o /camtalk ./cmd/server
# 复用 module 缓存 + 编译缓存;-ldflags="-s -w" 裁剪符号表减小 ~30% 体积
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
CGO_ENABLED=0 GOOS=linux \
go build -ldflags="-s -w" -o /camtalk ./cmd/server
# ---- 运行阶段 ----
FROM alpine:3.20