添加qiming-rcoder模块
This commit is contained in:
134
qiming-rcoder/Makefile
Normal file
134
qiming-rcoder/Makefile
Normal file
@@ -0,0 +1,134 @@
|
||||
# RCoder Makefile
|
||||
# 包含子模块: docker, dev, k8s, test, pyroscope, agent-runner
|
||||
|
||||
# Phony targets
|
||||
.PHONY: help \
|
||||
build install install-agent uninstall \
|
||||
dev-build dev-up dev-restart dev-down dev-logs \
|
||||
dev-build-k8s dev-up-k8s dev-restart-k8s dev-down-k8s dev-logs-k8s \
|
||||
dev-build-k8s-local dev-up-k8s-local dev-restart-k8s-local dev-down-k8s-local dev-logs-k8s-local dev-local-k8s \
|
||||
docker-build docker-build-base docker-build-master docker-build-master-base \
|
||||
docker-build-agent-runner docker-build-agent-base docker-build-agent-production \
|
||||
docker-pre-download-libreoffice docker-clean-libreoffice-downloads \
|
||||
update-image-tag \
|
||||
test test-unit test-integration test-all test-blocking \
|
||||
test-ebpf-install test-ebpf-no-install test-ebpf-debug test-pyroscope-offcpu \
|
||||
pyroscope-up pyroscope-down pyroscope-logs \
|
||||
agent-runner-up agent-runner-down agent-runner-logs agent-runner-restart agent-runner-status \
|
||||
k8s-offline-bundle k8s-offline-import k8s-offline-images-list k8s-offline-clean
|
||||
|
||||
# 包含子 Makefile
|
||||
include make/docker.mk
|
||||
include make/libreoffice.mk
|
||||
include make/dev.mk
|
||||
include make/k8s.mk
|
||||
include make/k8s-offline.mk
|
||||
include make/test.mk
|
||||
include make/pyroscope.mk
|
||||
include make/agent-runner.mk
|
||||
|
||||
# 本地编译(仅编译,不构建镜像)
|
||||
build:
|
||||
@echo "🔨 本地编译 rcoder..."
|
||||
@cargo build --release --bin rcoder
|
||||
@echo "✅ 编译完成!"
|
||||
@echo "可执行文件: ./target/release/rcoder"
|
||||
|
||||
# 安装 codex-acp-agent
|
||||
install-agent:
|
||||
@echo "📦 安装 codex-acp-agent..."
|
||||
@cargo install --path crates/codex-acp-agent --bin codex-acp-agent --force
|
||||
@echo "✅ codex-acp-agent 已安装到: ~/.cargo/bin/codex-acp-agent"
|
||||
|
||||
# 安装所有二进制到系统
|
||||
install: build
|
||||
@echo "📥 安装 rcoder 到系统..."
|
||||
@cargo install --path crates/rcoder --bin rcoder --force
|
||||
@echo ""
|
||||
@echo "✅ 已安装:"
|
||||
@echo " - codex-acp-agent -> ~/.cargo/bin/codex-acp-agent"
|
||||
@echo " - rcoder -> ~/.cargo/bin/rcoder"
|
||||
|
||||
# 卸载所有二进制
|
||||
uninstall:
|
||||
@echo "🗑️ 卸载二进制..."
|
||||
@cargo uninstall rcoder 2>/dev/null || echo "rcoder 未安装"
|
||||
@cargo uninstall codex-acp-agent 2>/dev/null || echo "codex-acp-agent 未安装"
|
||||
@echo "✅ 卸载完成"
|
||||
|
||||
# 默认目标:显示帮助信息
|
||||
help:
|
||||
@echo "rcoder 开发模式 Makefile"
|
||||
@echo ""
|
||||
@echo "📦 编译和安装:"
|
||||
@echo " make build - 本地编译 rcoder(仅编译)"
|
||||
@echo " make install - 安装所有二进制到 ~/.cargo/bin/"
|
||||
@echo " make install-agent - 仅安装 codex-acp-agent"
|
||||
@echo " make uninstall - 卸载所有二进制"
|
||||
@echo ""
|
||||
@echo "🐳 Docker 镜像构建:"
|
||||
@echo " make docker-build - 构建所有 Docker 镜像"
|
||||
@echo " make docker-build-base - 构建所有基础镜像(很少需要)"
|
||||
@echo " make docker-build-master - 仅构建 master-rcoder 镜像(需要基础镜像)"
|
||||
@echo " make docker-build-master-base - 仅构建 master-rcoder-base 基础镜像"
|
||||
@echo " make docker-build-agent-runner - 仅构建 rcoder-agent-runner 镜像(启用 eBPF 调试)"
|
||||
@echo " make docker-build-agent-base - 仅构建 rcoder-agent-base 基础镜像"
|
||||
@echo " make docker-build-agent-production - 构建生产镜像(无 eBPF 工具,镜像更小)"
|
||||
@echo " make docker-pre-download-libreoffice - 预下载 LibreOffice(避免每次构建重新下载)"
|
||||
@echo " make docker-clean-libreoffice-downloads - 清理已下载的 LibreOffice 文件"
|
||||
@echo " make dev-build - 本地编译 + 构建 Docker 镜像(一键完成)"
|
||||
@echo ""
|
||||
@echo "🔧 开发模式命令:"
|
||||
@echo " make dev-up - 启动开发模式容器(使用镜像内编译的二进制)"
|
||||
@echo " make dev-restart - 重启开发模式容器(重新构建镜像并启动)"
|
||||
@echo " make dev-down - 停止开发模式容器"
|
||||
@echo " make dev-logs - 查看开发模式容器日志"
|
||||
@echo ""
|
||||
@echo "☸️ K8s 开发模式命令:"
|
||||
@echo " make dev-build-k8s - 构建 K8s 镜像(启用 kubernetes feature)"
|
||||
@echo " make dev-up-k8s - 启动 K8s 开发模式(标准 kubectl apply)"
|
||||
@echo " make dev-restart-k8s - 重启 K8s 开发模式(重新构建镜像+部署)"
|
||||
@echo " make dev-down-k8s - 停止 K8s 开发模式(存储层 + 应用层 + RBAC + Namespace)"
|
||||
@echo " make dev-logs-k8s - 查看 K8s 开发模式日志"
|
||||
@echo ""
|
||||
@echo "☸️ 本地 K8s 测试 (OrbStack/k3d/kind):"
|
||||
@echo " make dev-local-k8s - 一键构建+部署到本地 K8s"
|
||||
@echo " make dev-build-k8s-local - 构建本地 K8s 镜像(不推送远程)"
|
||||
@echo " make dev-up-k8s-local - 启动本地 K8s 测试(使用 local-path 存储)"
|
||||
@echo " make dev-restart-k8s-local - 重启本地 K8s 测试"
|
||||
@echo " make dev-down-k8s-local - 停止本地 K8s 测试"
|
||||
@echo " make dev-logs-k8s-local - 查看本地 K8s 测试日志"
|
||||
@echo ""
|
||||
@echo "📦 离线部署 (政企内网用):"
|
||||
@echo " make k8s-offline-bundle - 打包完整离线包 (images + helm + manifests)"
|
||||
@echo " make k8s-offline-import BUNDLE=<tgz> INSTALL_ARGS=\"--mode=direct --env=dev\""
|
||||
@echo " - 解压并一键部署 (在离线机器上跑)"
|
||||
@echo " make k8s-offline-images-list - 打印所有离线依赖镜像清单"
|
||||
@echo " make k8s-offline-clean - 清理构建产物"
|
||||
@echo ""
|
||||
@echo "📊 Pyroscope 持续剖析:"
|
||||
@echo " make pyroscope-up - 启动 Pyroscope Server"
|
||||
@echo " make pyroscope-down - 停止 Pyroscope Server"
|
||||
@echo " make pyroscope-logs - 查看 Pyroscope 日志"
|
||||
@echo ""
|
||||
@echo "🚀 agent_runner 本地服务:"
|
||||
@echo " make agent-runner-up - 启动 agent_runner HTTP server(前台运行)"
|
||||
@echo " make agent-runner-logs - 查看日志"
|
||||
@echo ""
|
||||
@echo " 变量: AGENT_RUNNER_PORT=8086 AGENT_RUNNER_GRPC=yes AGENT_RUNNER_PROJECTS_DIR=./project_workspace"
|
||||
@echo ""
|
||||
@echo "🧪 测试命令:"
|
||||
@echo " make test - 运行所有测试"
|
||||
@echo " make test-unit - 运行单元测试"
|
||||
@echo " make test-integration - 运行集成测试"
|
||||
@echo " make test-blocking - 运行极端场景测试(包含阻塞)"
|
||||
@echo " make test-all - 运行完整测试套件(所有 features)"
|
||||
@echo ""
|
||||
@echo "开发模式工作流程:"
|
||||
@echo " 1. make dev-build # 首次:构建所有 Docker 镜像(容器内编译)"
|
||||
@echo " 2. make dev-up # 启动容器"
|
||||
@echo " 3. 修改代码后: make dev-restart # 重新构建镜像+重启容器"
|
||||
@echo ""
|
||||
@echo "💡 提示:"
|
||||
@echo " - dev-build: 在 Docker 容器内编译,确保 Linux 兼容性"
|
||||
@echo " - dev-restart: 每次代码修改都需要重新构建镜像(容器内重新编译)"
|
||||
Reference in New Issue
Block a user