feat: xiaji-go v1.0.0 - 智能记账机器人
- Telegram Bot + QQ Bot (WebSocket) 双平台支持 - 150+ 预设分类关键词,jieba 智能分词 - Web 管理后台(记录查看/删除/CSV导出) - 金额精确存储(分/int64) - 版本信息嵌入(编译时注入) - Docker 支持 - 优雅关闭(context + signal)
This commit is contained in:
51
Makefile
Normal file
51
Makefile
Normal file
@@ -0,0 +1,51 @@
|
||||
APP_NAME := xiaji-go
|
||||
VERSION := 1.0.0
|
||||
GIT_COMMIT := $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
BUILD_TIME := $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
|
||||
LDFLAGS := -X xiaji-go/version.Version=$(VERSION) \
|
||||
-X xiaji-go/version.GitCommit=$(GIT_COMMIT) \
|
||||
-X xiaji-go/version.BuildTime=$(BUILD_TIME)
|
||||
|
||||
DOCKER_IMAGE := ouaone/xiaji-go
|
||||
DOCKER_TAG := $(VERSION)
|
||||
|
||||
.PHONY: build clean run docker docker-push release help
|
||||
|
||||
## build: 编译二进制文件
|
||||
build:
|
||||
go build -ldflags "$(LDFLAGS)" -o $(APP_NAME) cmd/main.go
|
||||
|
||||
## build-linux: 交叉编译 Linux amd64
|
||||
build-linux:
|
||||
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o $(APP_NAME)-linux-amd64 cmd/main.go
|
||||
|
||||
## clean: 清理编译产物
|
||||
clean:
|
||||
rm -f $(APP_NAME) $(APP_NAME)-linux-amd64
|
||||
|
||||
## run: 编译并运行
|
||||
run: build
|
||||
./$(APP_NAME)
|
||||
|
||||
## docker: 构建 Docker 镜像
|
||||
docker:
|
||||
docker build -t $(DOCKER_IMAGE):$(DOCKER_TAG) -t $(DOCKER_IMAGE):latest \
|
||||
--build-arg VERSION=$(VERSION) \
|
||||
--build-arg GIT_COMMIT=$(GIT_COMMIT) \
|
||||
--build-arg BUILD_TIME=$(BUILD_TIME) .
|
||||
|
||||
## docker-push: 推送 Docker 镜像
|
||||
docker-push:
|
||||
docker push $(DOCKER_IMAGE):$(DOCKER_TAG)
|
||||
docker push $(DOCKER_IMAGE):latest
|
||||
|
||||
## version: 显示版本信息
|
||||
version:
|
||||
@echo "$(APP_NAME) v$(VERSION) ($(GIT_COMMIT))"
|
||||
|
||||
## help: 显示帮助
|
||||
help:
|
||||
@echo "$(APP_NAME) v$(VERSION)"
|
||||
@echo ""
|
||||
@echo "可用目标:"
|
||||
@grep -E '^## ' Makefile | sed 's/^## / /'
|
||||
Reference in New Issue
Block a user