- .gitignore 新增 .hermes/ 目录,git rm --cached 已追踪的 plan 文件 - 删除 docker-compose.embed.yml(embed 部署统一走 K8s 或独立二进制) - Makefile 移除 docker-embed 目标 - CLAUDE.md 全面重写:三种部署方式详解、技术栈修正(Go1.24+MySQL/Redis)、架构完善、新增工具懒加载/凭证v2/远程执行/流水线/PTY终端等章节 - README.md 重写:三种部署快速开始、项目结构对齐实际目录、核心功能更新
99 lines
3.0 KiB
Makefile
99 lines
3.0 KiB
Makefile
# AIOps 智能运维平台 - Makefile
|
|
# 使用方式: make help
|
|
.PHONY: help install dev build build-ui build-api build-binary status stop restart logs lint clean \
|
|
docker-up docker-down docker-build docker-logs
|
|
|
|
help:
|
|
@echo "AIOps 智能运维平台 - 可用命令:"
|
|
@echo ""
|
|
@echo " 本地开发:"
|
|
@echo " make install - 安装前后端依赖"
|
|
@echo " make dev - 启动开发环境(前后端)"
|
|
@echo " make build - 构建生产环境(前后端)"
|
|
@echo " make build-ui - 仅构建前端"
|
|
@echo " make build-api - 仅构建后端"
|
|
@echo " make status - 查看服务状态"
|
|
@echo " make stop - 停止所有服务"
|
|
@echo " make restart - 重启所有服务"
|
|
@echo " make logs - 查看实时日志"
|
|
@echo " make lint - 代码检查"
|
|
@echo " make clean - 清理构建产物"
|
|
@echo ""
|
|
@echo " Docker 部署:"
|
|
@echo " make docker-up - 构建并启动所有容器"
|
|
@echo " make docker-down - 停止并移除所有容器"
|
|
@echo " make docker-build - 重新构建镜像(不启动)"
|
|
@echo " make docker-logs - 查看容器日志"
|
|
@echo " make docker-embed - 单容器部署(embed 模式,前后端合一)"
|
|
@echo ""
|
|
@echo " 二进制部署:"
|
|
@echo " make build-binary - 编译单二进制(前端嵌入后端)"
|
|
|
|
# ==================== 本地开发 ====================
|
|
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 && CGO_ENABLED=0 go build -o aiops-server ./cmd/
|
|
|
|
build: build-api build-ui
|
|
|
|
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 "日志文件不存在"
|
|
|
|
lint:
|
|
@echo "检查后端代码..."
|
|
cd backend && go vet ./...
|
|
@echo "检查前端代码..."
|
|
cd frontend && npm run lint 2>/dev/null || echo "前端 lint 未配置,跳过"
|
|
|
|
clean:
|
|
@echo "清理构建产物..."
|
|
rm -f backend/aiops-server
|
|
rm -rf frontend/dist
|
|
rm -f backend/logs/*.log frontend/logs/*.log
|
|
@echo "清理完成"
|
|
|
|
# ==================== Docker 部署(双容器:前端 nginx + 后端) ====================
|
|
docker-up:
|
|
docker-compose up -d --build
|
|
|
|
docker-down:
|
|
docker-compose down
|
|
|
|
docker-build:
|
|
docker-compose build
|
|
|
|
docker-logs:
|
|
docker-compose logs -f
|
|
|
|
# ==================== 二进制部署(embed 模式) ====================
|
|
build-binary: build-ui
|
|
@echo "构建单二进制(前端嵌入后端)..."
|
|
@mkdir -p backend/cmd/static
|
|
@cp -r frontend/dist/* backend/cmd/static/
|
|
cd backend && CGO_ENABLED=0 go build -ldflags="-s -w" -o ../aiops ./cmd/
|
|
@rm -rf backend/cmd/static
|
|
@echo "✓ 二进制已生成: ./aiops"
|
|
@echo " 部署: scp aiops deploy/binary/install.sh root@<server>:/tmp/ && ssh root@<server> 'cd /tmp && bash install.sh install'"
|