From c2c1cd4c8c77fc60738cf731f2f7fb4aa407c43b Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 13 Jun 2025 21:53:42 +0800 Subject: [PATCH] . --- Dockerfile | 23 +++++++++++------------ deploy.sh | 3 +++ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7605b37..d18f854 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,28 +2,27 @@ FROM golang:1.22 AS builder WORKDIR /app -# 拷贝 mod 文件(包含 go.sum 才不会报错) -COPY go.mod go.sum ./ +# 只复制 go.mod(不要求 go.sum 存在) +COPY go.mod ./ -# 先下载基础依赖(避免 build 阶段失败) -RUN go mod download - -# 再复制完整代码(这一步才有 fiber/sqlite3 的 import) -COPY . . - -# 再 tidy,确保 go.sum 有完整依赖记录 +# 自动下载基础依赖并生成 go.sum RUN go mod tidy -# 构建可执行文件 +# 再复制完整项目代码 +COPY . . + +# 再执行一次 tidy(捕捉全部 import 依赖) +RUN go mod tidy + +# 编译可执行文件 RUN go build -o license-server main.go -# 最小运行时镜像 +# 最小运行镜像 FROM alpine:latest RUN apk add --no-cache ca-certificates sqlite WORKDIR /root/ - COPY --from=builder /app/license-server . EXPOSE 13579 diff --git a/deploy.sh b/deploy.sh index fa3cbd0..0147ba3 100644 --- a/deploy.sh +++ b/deploy.sh @@ -22,6 +22,9 @@ echo "===> Step 3: 拉取最新代码..." cd "$GIT_REPO_DIR" || { echo "❌ 找不到目录 $GIT_REPO_DIR"; exit 1; } git pull || { echo "❌ git pull 失败"; exit 1; } +echo "===> Step 3.5: 自动生成 go.sum(执行 go mod tidy)..." +go mod tidy || { echo "❌ go mod tidy 失败"; exit 1; } + echo "===> Step 4: 构建新镜像 $FULL_IMAGE_NAME..." docker build -t $FULL_IMAGE_NAME . || { echo "❌ Docker build 失败"; exit 1; }