This commit is contained in:
parent
a9b00e9ad7
commit
c2c1cd4c8c
23
Dockerfile
23
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
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue