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
|
WORKDIR /app
|
||||||
|
|
||||||
# 拷贝 mod 文件(包含 go.sum 才不会报错)
|
# 只复制 go.mod(不要求 go.sum 存在)
|
||||||
COPY go.mod go.sum ./
|
COPY go.mod ./
|
||||||
|
|
||||||
# 先下载基础依赖(避免 build 阶段失败)
|
# 自动下载基础依赖并生成 go.sum
|
||||||
RUN go mod download
|
|
||||||
|
|
||||||
# 再复制完整代码(这一步才有 fiber/sqlite3 的 import)
|
|
||||||
COPY . .
|
|
||||||
|
|
||||||
# 再 tidy,确保 go.sum 有完整依赖记录
|
|
||||||
RUN go mod tidy
|
RUN go mod tidy
|
||||||
|
|
||||||
# 构建可执行文件
|
# 再复制完整项目代码
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# 再执行一次 tidy(捕捉全部 import 依赖)
|
||||||
|
RUN go mod tidy
|
||||||
|
|
||||||
|
# 编译可执行文件
|
||||||
RUN go build -o license-server main.go
|
RUN go build -o license-server main.go
|
||||||
|
|
||||||
# 最小运行时镜像
|
# 最小运行镜像
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates sqlite
|
RUN apk add --no-cache ca-certificates sqlite
|
||||||
|
|
||||||
WORKDIR /root/
|
WORKDIR /root/
|
||||||
|
|
||||||
COPY --from=builder /app/license-server .
|
COPY --from=builder /app/license-server .
|
||||||
|
|
||||||
EXPOSE 13579
|
EXPOSE 13579
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,9 @@ echo "===> Step 3: 拉取最新代码..."
|
||||||
cd "$GIT_REPO_DIR" || { echo "❌ 找不到目录 $GIT_REPO_DIR"; exit 1; }
|
cd "$GIT_REPO_DIR" || { echo "❌ 找不到目录 $GIT_REPO_DIR"; exit 1; }
|
||||||
git pull || { echo "❌ git pull 失败"; 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..."
|
echo "===> Step 4: 构建新镜像 $FULL_IMAGE_NAME..."
|
||||||
docker build -t $FULL_IMAGE_NAME . || { echo "❌ Docker build 失败"; exit 1; }
|
docker build -t $FULL_IMAGE_NAME . || { echo "❌ Docker build 失败"; exit 1; }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue