feat: 三种部署方式 — embed单容器 + 二进制部署 + K8s
新增三种部署方式(原有 docker-compose 不受影响): 1. Docker embed 单容器 (docker-compose.embed.yml): - go:embed 前端嵌入后端二进制 - 不需要 nginx 容器,3容器→2容器 - 镜像仅 54.8MB (vs 原来 1.16GB) - 用法: make docker-embed 2. 二进制部署 (deploy/binary/): - make build-binary 生成单二进制 - install.sh 自动创建 systemd 服务 - 适合无 Docker 环境 - 用法: scp aiops + install.sh, bash install.sh install 3. Kubernetes 部署 (deploy/k8s/): - devops 命名空间全套 yaml - MySQL StatefulSet + Redis StatefulSet + Backend Deployment - ConfigMap + Secret + Ingress - 用法: kubectl apply -f deploy/k8s/ 核心改动: - backend/cmd/embed.go: go:embed 前端 + SPA fallback 路由 - backend/Dockerfile.embed: 四阶段构建 (前端→后端embed→agent→runtime) - Makefile: build-binary + docker-embed 目标 - deploy/README.md: 四种部署方式对比文档
This commit is contained in:
1 parent
24f955832e
commit
4631b02f13
15 files changed
+1218
-3
No files matched your search
@@ -1,7 +1,7 @@
|
||||
# AIOps 智能运维平台 - Makefile
|
||||
# 使用方式: make help
|
||||
.PHONY: help install dev build build-ui build-api status stop restart logs lint clean \
|
||||
docker-up docker-down docker-build docker-logs
|
||||
.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 docker-embed
|
||||
|
||||
help:
|
||||
@echo "AIOps 智能运维平台 - 可用命令:"
|
||||
@@ -24,7 +24,10 @@ help:
|
||||
@echo " make docker-down - 停止并移除所有容器"
|
||||
@echo " make docker-build - 重新构建镜像(不启动)"
|
||||
@echo " make docker-logs - 查看容器日志"
|
||||
@echo " make docker-embed - 单容器部署(embed 模式,前后端合一)"
|
||||
@echo ""
|
||||
@echo " 二进制部署:"
|
||||
@echo " make build-binary - 编译单二进制(前端嵌入后端)"
|
||||
|
||||
# ==================== 本地开发 ====================
|
||||
install:
|
||||
@@ -71,7 +74,7 @@ clean:
|
||||
rm -f backend/logs/*.log frontend/logs/*.log
|
||||
@echo "清理完成"
|
||||
|
||||
# ==================== Docker 部署 ====================
|
||||
# ==================== Docker 部署(双容器:前端 nginx + 后端) ====================
|
||||
docker-up:
|
||||
docker-compose up -d --build
|
||||
|
||||
@@ -83,3 +86,17 @@ docker-build:
|
||||
|
||||
docker-logs:
|
||||
docker-compose logs -f
|
||||
|
||||
# ==================== Docker 部署(单容器:embed 模式) ====================
|
||||
docker-embed:
|
||||
docker-compose -f docker-compose.embed.yml up -d --build
|
||||
|
||||
# ==================== 二进制部署(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'"
|
||||
Reference in new issue
Block a user