Files
Logan.LiandCursor cb1a9be2c4 chore: 增加 Docker 单容器部署
生产用 Dockerfile + compose 嵌入前端二进制,run.sh docker 一键构建启动。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 12:02:29 +08:00

98 lines
2.4 KiB
Makefile

# opsx-licence - Makefile
# 提供常用开发命令的快捷方式
.PHONY: help install dev build build-ui build-api build-binary docker-up docker-down clean status stop restart lint test
# 默认显示帮助
help:
@echo "opsx-licence - 可用命令:"
@echo ""
@echo " make install - 安装前后端依赖"
@echo " make dev - 启动开发环境(前后端)"
@echo " make build - 构建前后端(分开)"
@echo " make build-ui - 仅构建前端"
@echo " make build-api - 仅构建后端"
@echo " make build-binary - 构建前端嵌入式单二进制 opsx-licence"
@echo " make docker-up - Docker 构建并启动"
@echo " make docker-down - 停止 Docker 容器"
@echo " make test - 运行后端测试"
@echo " make lint - 运行代码检查"
@echo " make clean - 清理构建产物和日志"
@echo " make status - 查看服务状态"
@echo " make stop - 停止所有服务"
@echo " make restart - 重启所有服务"
@echo " make logs - 查看实时日志"
@echo ""
# 安装依赖
install:
@echo "📦 安装后端依赖..."
cd backend && go mod download
@echo "📦 安装前端依赖..."
cd frontend && npm install
# 开发环境启动
dev:
./run.sh start
# 构建前端
build-ui:
@echo "🔨 构建前端..."
cd frontend && npm run build
# 构建后端
build-api:
@echo "🔨 构建后端..."
cd backend && go build -o server -ldflags="-s -w" .
# 构建所有(分开)
build: build-ui build-api
# 构建前后端合一的部署二进制 // Logan.Li
build-binary:
./run.sh build
# Docker 部署 // Logan.Li
docker-up:
./run.sh docker up
docker-down:
./run.sh docker down
# 后端测试
test:
@echo "🧪 运行后端测试..."
cd backend && go test -v -race -coverprofile=coverage.out ./...
@echo "📊 后端覆盖率:"
@cd backend && go tool cover -func=coverage.out | grep total
# 代码检查
lint:
@echo "🔍 检查后端代码..."
cd backend && go vet ./...
# 清理
clean:
@echo "🧹 清理构建产物..."
rm -f backend/server backend/backend
rm -rf frontend/dist
rm -f backend/logs/*.log frontend/logs/*.log logs/*.log
rm -f opsx-licence
@echo "🧹 清理完成"
# 查看状态
status:
./run.sh status
# 停止服务
stop:
./run.sh stop
# 重启服务
restart:
./run.sh restart
# 查看日志
logs:
@tail -f backend/logs/server.log frontend/logs/dev.log 2>/dev/null || echo "日志文件不存在"