- 新增 deploy.sh:编译部署、systemd/Nginx 初始化、软链接版本管理与交互式回滚、部署后 /healthz 健康自检、certbot 自动申请 HTTPS 证书与续期重载 Hook - 新增 .deploy.env.example 部署配置模板,.deploy.env(不入库)覆盖脚本默认值,路径默认由 APP_NAME 派生,CERT_EMAIL 默认 admin@域名 - 新增 Makefile:build / build-linux 交叉编译 / test(含 go vet)/ clean - main.go 新增 Version/BuildTime 变量,使 -ldflags -X 注入生效并在启动日志打印 - systemd 工作目录改为代码目录,修复 config.yaml/.env/cache.db 相对路径加载失败 - .gitignore 忽略 .deploy.env 与 fanqie-* 编译产物;README 新增部署章节与 HTTPS 说明
21 lines
553 B
Makefile
21 lines
553 B
Makefile
BINARY := fanqie
|
|
VERSION ?= $(shell date +%Y%m%d-%H%M%S)
|
|
BUILD_TIME := $(shell date -u '+%Y-%m-%dT%H:%M:%SZ')
|
|
BUILD_TARGET := ./cmd/fanqie
|
|
|
|
LDFLAGS := -s -w -X main.Version=$(VERSION) -X main.BuildTime=$(BUILD_TIME)
|
|
|
|
.PHONY: build build-linux test clean
|
|
|
|
build:
|
|
CGO_ENABLED=0 go build -ldflags="$(LDFLAGS)" -o $(BINARY)-$(VERSION) $(BUILD_TARGET)
|
|
|
|
build-linux:
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="$(LDFLAGS)" -o $(BINARY)-$(VERSION)-linux $(BUILD_TARGET)
|
|
|
|
test:
|
|
go vet ./... && go test ./...
|
|
|
|
clean:
|
|
rm -f $(BINARY)-*
|