🚀 deploy(build): 新增一键部署脚本与构建工具链
- 新增 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 说明
This commit is contained in:
1 parent
6a473aea3e
commit
889c399a0b
6 files changed
+506
-1
No files matched your search
@@ -0,0 +1,20 @@
|
||||
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)-*
|
||||
Reference in new issue
Block a user