init: EZOps AIOps 智能运维平台
- 前端: React 18 + TypeScript + Vite + Tailwind CSS + shadcn/ui - 后端: Go + Gin + GORM + JWT (golang-jwt/jwt/v5) - 功能: 服务器管理、K8s集群、监控告警、CI/CD、自动化运维、审批流程、审计日志 - 文档: 设计文档(ROADMAP/PDD/架构/模块)
This commit is contained in:
commit
7d6674bddd
156 files changed
+45704
No files matched your search
@@ -0,0 +1,136 @@
|
||||
.PHONY: all build run test clean docker swagger lint fmt vet
|
||||
|
||||
# 应用名称
|
||||
APP_NAME=ezops
|
||||
MAIN_FILE=cmd/main.go
|
||||
BUILD_DIR=build
|
||||
|
||||
# Go 参数
|
||||
GOCMD=go
|
||||
GOBUILD=$(GOCMD) build
|
||||
GOCLEAN=$(GOCMD) clean
|
||||
GOTEST=$(GOCMD) test
|
||||
GOGET=$(GOCMD) get
|
||||
GOMOD=$(GOCMD) mod
|
||||
|
||||
# 版本信息
|
||||
VERSION=$(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||
BUILD_TIME=$(shell date +%Y-%m-%d_%H:%M:%S)
|
||||
GIT_COMMIT=$(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
LDFLAGS=-ldflags "-X main.Version=$(VERSION) -X main.BuildTime=$(BUILD_TIME) -X main.GitCommit=$(GIT_COMMIT)"
|
||||
|
||||
all: test build
|
||||
|
||||
# 构建应用
|
||||
build:
|
||||
@echo "Building $(APP_NAME)..."
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
$(GOBUILD) $(LDFLAGS) -o $(BUILD_DIR)/$(APP_NAME) $(MAIN_FILE)
|
||||
@echo "Build complete: $(BUILD_DIR)/$(APP_NAME)"
|
||||
|
||||
# 运行应用
|
||||
run:
|
||||
$(GOCMD) run $(MAIN_FILE)
|
||||
|
||||
# 开发模式运行(带热重载)
|
||||
dev:
|
||||
@which air > /dev/null || go install github.com/cosmtrek/air@latest
|
||||
air
|
||||
|
||||
# 运行测试
|
||||
test:
|
||||
$(GOTEST) -v ./...
|
||||
|
||||
# 运行测试并生成覆盖率报告
|
||||
test-coverage:
|
||||
$(GOTEST) -v -coverprofile=coverage.out ./...
|
||||
$(GOCMD) tool cover -html=coverage.out -o coverage.html
|
||||
@echo "Coverage report generated: coverage.html"
|
||||
|
||||
# 清理构建产物
|
||||
clean:
|
||||
$(GOCLEAN)
|
||||
@rm -rf $(BUILD_DIR)
|
||||
@rm -f coverage.out coverage.html
|
||||
@echo "Clean complete"
|
||||
|
||||
# 下载依赖
|
||||
deps:
|
||||
$(GOMOD) download
|
||||
$(GOMOD) tidy
|
||||
|
||||
# 更新依赖
|
||||
update-deps:
|
||||
$(GOGET) -u ./...
|
||||
$(GOMOD) tidy
|
||||
|
||||
# 生成 Swagger 文档
|
||||
swagger:
|
||||
@which swag > /dev/null || go install github.com/swaggo/swag/cmd/swag@latest
|
||||
swag init -g $(MAIN_FILE)
|
||||
@echo "Swagger docs generated"
|
||||
|
||||
# 代码格式化
|
||||
fmt:
|
||||
$(GOCMD) fmt ./...
|
||||
|
||||
# 代码检查
|
||||
vet:
|
||||
$(GOCMD) vet ./...
|
||||
|
||||
# 运行 linter
|
||||
lint:
|
||||
@which golangci-lint > /dev/null || go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||
golangci-lint run
|
||||
|
||||
# 安全检查
|
||||
security:
|
||||
@which gosec > /dev/null || go install github.com/securego/gosec/v2/cmd/gosec@latest
|
||||
gosec ./...
|
||||
|
||||
# 构建 Docker 镜像
|
||||
docker-build:
|
||||
docker build -t $(APP_NAME):$(VERSION) -t $(APP_NAME):latest .
|
||||
|
||||
# 运行 Docker 容器
|
||||
docker-run:
|
||||
docker run -p 8080:8080 -v $(PWD)/config.yaml:/root/config.yaml $(APP_NAME):latest
|
||||
|
||||
# 停止 Docker 容器
|
||||
docker-stop:
|
||||
docker stop $(shell docker ps -q --filter ancestor=$(APP_NAME))
|
||||
|
||||
# 数据库迁移
|
||||
migrate:
|
||||
$(GOCMD) run $(MAIN_FILE) migrate
|
||||
|
||||
# 初始化数据库
|
||||
init-db:
|
||||
@echo "Initializing database..."
|
||||
@mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS ezops CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null || true
|
||||
@echo "Database initialized"
|
||||
|
||||
# 生成 Mock 数据
|
||||
mock:
|
||||
$(GOCMD) run scripts/mock.go
|
||||
|
||||
# 查看帮助
|
||||
help:
|
||||
@echo "Available targets:"
|
||||
@echo " make build - Build the application"
|
||||
@echo " make run - Run the application"
|
||||
@echo " make dev - Run with hot reload"
|
||||
@echo " make test - Run tests"
|
||||
@echo " make test-coverage - Run tests with coverage"
|
||||
@echo " make clean - Clean build artifacts"
|
||||
@echo " make deps - Download dependencies"
|
||||
@echo " make update-deps - Update dependencies"
|
||||
@echo " make swagger - Generate Swagger docs"
|
||||
@echo " make fmt - Format code"
|
||||
@echo " make vet - Run go vet"
|
||||
@echo " make lint - Run linter"
|
||||
@echo " make security - Run security check"
|
||||
@echo " make docker-build - Build Docker image"
|
||||
@echo " make docker-run - Run Docker container"
|
||||
@echo " make init-db - Initialize database"
|
||||
@echo " make help - Show this help"
|
||||
Reference in new issue
Block a user