diff --git a/.github/workflows/docker-push.yaml b/.github/workflows/docker-push.yaml index 9855c3e5..ce70e373 100644 --- a/.github/workflows/docker-push.yaml +++ b/.github/workflows/docker-push.yaml @@ -28,7 +28,7 @@ jobs: - name: Build the Docker image run: | - docker build -t gzydong/lumenim:${{ env.IMAGE_TAG }} -t gzydong/lumenim:latest . + docker build --build-arg IMAGE_TAG=${{ env.IMAGE_TAG }} -t gzydong/lumenim:${{ env.IMAGE_TAG }} -t gzydong/lumenim:latest . - name: Push the Docker image run: | diff --git a/Dockerfile b/Dockerfile index 287d97dd..3d37e852 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,8 @@ FROM golang:1.23.1-alpine AS builder # 设置工作目录 WORKDIR /builder +ARG IMAGE_TAG + # 将 go.mod 和 go.sum 文件复制到工作目录 COPY go.mod go.sum ./ @@ -21,7 +23,7 @@ RUN go mod download COPY . . # 构建可执行文件 -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o lumenim ./cmd/lumenim +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o lumenim -ldflags "-X main.Version=${IMAGE_TAG}" ./cmd/lumenim # 使用一个更小的基础镜像来减小最终镜像的大小 FROM alpine:latest diff --git a/cmd/lumenim/main.go b/cmd/lumenim/main.go index 52c3b87b..bdc32393 100644 --- a/cmd/lumenim/main.go +++ b/cmd/lumenim/main.go @@ -11,6 +11,22 @@ import ( _ "go-chat/internal/pkg/server" ) +// Version 服务版本号(默认) +// 构建时传入版本号 +// go build -o lumenim -ldflags "-X main.Version=${IMAGE_TAG}" ./cmd/lumenim +var Version = "1.0.0" + +func main() { + app := core.NewApp(Version) + app.Register(NewHttpCommand) + app.Register(NewCometCommand) + app.Register(NewCrontabCommand) + app.Register(NewQueueCommand) + app.Register(NewTempCommand) + app.Register(NewMigrateCommand) + app.Run() +} + func NewHttpCommand() core.Command { return core.Command{ Name: "http", @@ -89,14 +105,3 @@ func NewTempCommand() core.Command { }, } } - -func main() { - app := core.NewApp("v1.0.5") - app.Register(NewHttpCommand) - app.Register(NewCometCommand) - app.Register(NewCrontabCommand) - app.Register(NewQueueCommand) - app.Register(NewTempCommand) - app.Register(NewMigrateCommand) - app.Run() -}