生产用 Dockerfile + compose 嵌入前端二进制,run.sh docker 一键构建启动。 Co-authored-by: Cursor <cursoragent@cursor.com>
98 lines
2.4 KiB
Makefile
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 "日志文件不存在"
|