Initial commit: GovAI 政务AI平台
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
# ============================================================
|
||||
# Aily - 企业 AI 应用平台 Makefile
|
||||
# ============================================================
|
||||
|
||||
.PHONY: help dev-api dev-web dev build test lint migrate-up migrate-down migrate-create sqlc docker-up docker-down
|
||||
|
||||
# Default
|
||||
help: ## 显示帮助信息
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
# ==================== Development ====================
|
||||
|
||||
dev-api: ## 启动后端开发服务器(热重载需安装 air)
|
||||
cd server && go run ./cmd/server/
|
||||
|
||||
dev-web: ## 启动前端开发服务器
|
||||
cd apps/web && npm run dev
|
||||
|
||||
dev: ## 同时启动前后端(需要 goreman 或手动开两个终端)
|
||||
@echo "请在两个终端分别运行: make dev-api 和 make dev-web"
|
||||
|
||||
# ==================== Build ====================
|
||||
|
||||
build-api: ## 编译后端
|
||||
cd server && CGO_ENABLED=0 go build -o ../dist/server ./cmd/server/
|
||||
|
||||
build-web: ## 编译前端
|
||||
cd apps/web && npm run build
|
||||
|
||||
build: build-api build-web ## 编译前后端
|
||||
|
||||
# ==================== Test ====================
|
||||
|
||||
test: ## 运行后端测试
|
||||
cd server && go test ./... -v -count=1
|
||||
|
||||
test-cover: ## 运行测试并生成覆盖率报告
|
||||
cd server && go test ./... -coverprofile=coverage.out && go tool cover -html=coverage.out
|
||||
|
||||
# ==================== Lint ====================
|
||||
|
||||
lint-api: ## 后端代码检查
|
||||
cd server && go vet ./...
|
||||
|
||||
lint-web: ## 前端代码检查
|
||||
cd apps/web && npm run lint
|
||||
|
||||
lint: lint-api lint-web ## 全部代码检查
|
||||
|
||||
# ==================== Database ====================
|
||||
|
||||
MIGRATE_URL ?= "postgres://aily:aily@localhost:5432/aily_portal?sslmode=disable"
|
||||
|
||||
migrate-up: ## 执行数据库迁移(全部)
|
||||
migrate -database $(MIGRATE_URL) -path server/migrations up
|
||||
|
||||
migrate-down: ## 回滚最近一次迁移
|
||||
migrate -database $(MIGRATE_URL) -path server/migrations down 1
|
||||
|
||||
migrate-create: ## 创建新迁移文件 (用法: make migrate-create NAME=create_xxx)
|
||||
migrate create -ext sql -dir server/migrations -seq $(NAME)
|
||||
|
||||
migrate-status: ## 查看迁移状态
|
||||
migrate -database $(MIGRATE_URL) -path server/migrations version
|
||||
|
||||
# ==================== sqlc ====================
|
||||
|
||||
sqlc: ## 生成 sqlc 代码
|
||||
cd server && sqlc generate
|
||||
|
||||
# ==================== Docker ====================
|
||||
|
||||
docker-up: ## 启动基础设施 (PostgreSQL + Redis + MinIO)
|
||||
docker compose -f docker/docker-compose.yml up -d
|
||||
|
||||
docker-down: ## 停止基础设施
|
||||
docker compose -f docker/docker-compose.yml down
|
||||
|
||||
docker-dify-up: ## 启动 Dify 服务
|
||||
docker compose -f docker/docker-compose.dify.yml up -d
|
||||
|
||||
docker-dify-down: ## 停止 Dify 服务
|
||||
docker compose -f docker/docker-compose.dify.yml down
|
||||
|
||||
docker-all-up: docker-up docker-dify-up ## 启动全部服务
|
||||
|
||||
docker-all-down: docker-dify-down docker-down ## 停止全部服务
|
||||
|
||||
docker-logs: ## 查看 Docker 日志
|
||||
docker compose -f docker/docker-compose.yml logs -f
|
||||
|
||||
# ==================== Production ====================
|
||||
|
||||
docker-prod-up: ## 启动生产环境
|
||||
docker compose -f docker/docker-compose.prod.yml up -d --build
|
||||
|
||||
docker-prod-down: ## 停止生产环境
|
||||
docker compose -f docker/docker-compose.prod.yml down
|
||||
|
||||
# ==================== PPT Worker ====================
|
||||
|
||||
dev-ppt: ## 启动 PPT Worker 开发服务器
|
||||
cd ppt-worker && python app.py
|
||||
|
||||
ppt-worker-install: ## 安装 PPT Worker 依赖
|
||||
cd ppt-worker && pip install -r requirements.txt
|
||||
|
||||
# ==================== Seed ====================
|
||||
|
||||
seed: ## 初始化种子数据(管理员账号、示例应用)
|
||||
PGPASSWORD=aily psql -h localhost -U aily -d aily_portal -f server/migrations/seed.sql
|
||||
|
||||
seed-ppt: ## 初始化 PPT 生成应用种子数据
|
||||
PGPASSWORD=aily psql -h localhost -U aily -d aily_portal -f server/migrations/seed_ppt.sql
|
||||
|
||||
# ==================== Setup ====================
|
||||
|
||||
setup: docker-up ## 初始化开发环境(启动基础服务+迁移+种子数据)
|
||||
@echo "⏳ 等待数据库启动..."
|
||||
@sleep 3
|
||||
$(MAKE) migrate-up
|
||||
$(MAKE) seed
|
||||
@echo "✅ 开发环境初始化完成!"
|
||||
@echo " 管理员账号: admin@aily.com / admin123"
|
||||
@echo " 创作者账号: zhangsan@aily.com / admin123"
|
||||
@echo " 普通用户: lisi@aily.com / admin123"
|
||||
@echo ""
|
||||
@echo "运行 make dev-api 和 make dev-web 启动开发服务器"
|
||||
|
||||
# ==================== Clean ====================
|
||||
|
||||
clean: ## 清理构建产物
|
||||
rm -rf dist/ server/server apps/web/.next apps/web/out
|
||||
Reference in New Issue
Block a user