2026-07-14 14:34:10 +08:00
|
|
|
# XINFRA Makefile
|
|
|
|
|
|
|
|
|
|
.PHONY: help build run test docker clean
|
|
|
|
|
|
|
|
|
|
# 默认目标
|
|
|
|
|
help:
|
|
|
|
|
@echo "XINFRA - 统一运维入口平台"
|
|
|
|
|
@echo ""
|
|
|
|
|
@echo "可用命令:"
|
|
|
|
|
@echo " make help - 显示此帮助信息"
|
|
|
|
|
@echo " make build - 构建前后端项目"
|
|
|
|
|
@echo " make run - 启动开发服务器"
|
|
|
|
|
@echo " make test - 运行测试"
|
|
|
|
|
@echo " make docker - 构建 Docker 镜像"
|
|
|
|
|
@echo " make clean - 清理构建产物"
|
2026-07-15 11:33:00 +08:00
|
|
|
@echo " make swagger - 生成 Swagger API 文档"
|
2026-07-14 14:34:10 +08:00
|
|
|
@echo ""
|
|
|
|
|
|
|
|
|
|
# 构建前后端项目
|
|
|
|
|
build: build-frontend build-server
|
|
|
|
|
|
|
|
|
|
build-frontend:
|
|
|
|
|
@echo "Building frontend..."
|
|
|
|
|
cd frontend && npm install && npm run build
|
|
|
|
|
|
|
|
|
|
build-server:
|
|
|
|
|
@echo "Building server..."
|
|
|
|
|
cd server && go build -o bin/xinfra ./cmd/server
|
|
|
|
|
|
2026-07-15 13:43:21 +08:00
|
|
|
# 启动开发服务器(前后端并行)
|
|
|
|
|
run:
|
|
|
|
|
@echo "Starting development servers..."
|
|
|
|
|
@trap 'kill 0' EXIT; \
|
|
|
|
|
cd frontend && npm run dev & \
|
|
|
|
|
cd server && go run ./cmd/server & \
|
|
|
|
|
wait
|
2026-07-14 14:34:10 +08:00
|
|
|
|
|
|
|
|
# 运行测试
|
|
|
|
|
test: test-frontend test-server
|
|
|
|
|
|
|
|
|
|
test-frontend:
|
2026-07-29 11:53:27 +08:00
|
|
|
@echo "Running frontend typecheck and build validation..."
|
|
|
|
|
cd frontend && npm run build
|
2026-07-14 14:34:10 +08:00
|
|
|
|
|
|
|
|
test-server:
|
|
|
|
|
@echo "Running server tests..."
|
|
|
|
|
cd server && go test ./...
|
|
|
|
|
|
|
|
|
|
# 构建 Docker 镜像
|
|
|
|
|
docker: docker-frontend docker-server
|
|
|
|
|
|
|
|
|
|
docker-frontend:
|
|
|
|
|
@echo "Building frontend Docker image..."
|
|
|
|
|
docker build -t xinfra-frontend:latest -f deploy/docker/Dockerfile.frontend .
|
|
|
|
|
|
|
|
|
|
docker-server:
|
|
|
|
|
@echo "Building server Docker image..."
|
|
|
|
|
docker build -t xinfra-server:latest -f deploy/docker/Dockerfile.server .
|
|
|
|
|
|
|
|
|
|
# 清理构建产物
|
|
|
|
|
clean:
|
|
|
|
|
@echo "Cleaning build artifacts..."
|
|
|
|
|
rm -rf frontend/dist frontend/node_modules
|
|
|
|
|
rm -rf server/bin server/vendor
|
|
|
|
|
find . -type d -name vendor -exec rm -rf {} + 2>/dev/null || true
|
|
|
|
|
|
|
|
|
|
# 本地开发环境
|
|
|
|
|
dev-up:
|
|
|
|
|
@echo "Starting local development environment..."
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
|
|
|
|
dev-down:
|
|
|
|
|
@echo "Stopping local development environment..."
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
2026-07-15 11:33:00 +08:00
|
|
|
# Swagger 文档
|
|
|
|
|
swagger:
|
|
|
|
|
@echo "Generating Swagger documentation..."
|
2026-07-15 13:43:21 +08:00
|
|
|
cd server && swag init -g internal/router/router.go -o ./docs
|
2026-07-15 11:33:00 +08:00
|
|
|
@echo "Swagger docs generated at server/docs/"
|
|
|
|
|
|
2026-07-14 14:34:10 +08:00
|
|
|
# 数据库迁移
|
|
|
|
|
migrate-up:
|
|
|
|
|
@echo "Running database migrations..."
|
|
|
|
|
cd server && go run ./cmd/server migrate up
|
|
|
|
|
|
|
|
|
|
migrate-down:
|
|
|
|
|
@echo "Rolling back database migrations..."
|
|
|
|
|
cd server && go run ./cmd/server migrate down
|