1.9 KiB
1.9 KiB
name, description
| name | description |
|---|---|
| project-structure | 工程目录与构建规范。用于本仓库跨模块改动时,保证边缘端与云端目录职责清晰、构建产物结构一致、部署方式一致。 |
工程结构规范
顶层职责
collector/:边缘采集进程configurator/:边缘配置服务cloud_server/:云端服务frontend/config_app/:边缘前端frontend/cloud_app/:云端前端foundation/:共享 C++ 基础库docs/:通用技术文档
构建与产物
- 各后端模块使用
build/作为构建目录 - 打包输出到
runtime/ - 原则:
build/与对应runtime/目录结构保持一致,避免运行时路径偏差
脚本职责
build.sh:编译 + 前端构建 + 资源同步run.sh:构建后启动(必要时先停旧进程)package.sh:整体打包到runtime/run_collector_tests.sh:采集端 collector 测试入口(unit / ci / all)run_configurator_tests.sh:配置端 configurator 测试入口(unit / ci / all)run_cloud_tests.sh:云端 cloud_server 测试入口(unit / 集成 / 压测 / 长稳)
部署约束
- 开发环境:模块独立运行、独立调试
- 生产环境:使用打包产物 + systemd 管理
- 不引入额外“总控进程”替代现有部署方式
命名约定
- 目录:
snake_case - 前端组件目录:
PascalCase - 文档:业务文档可中文命名,标准文件按通用约定
测试约定
- 每个后端子工程有独立的
run_<子工程>_tests.sh脚本入口 - 各后端子工程的单元测试放在
子工程/tests/unit/ - 子工程相关的集成测试/压测/E2E 放在
子工程/tests/{integration,benchmark,e2e}/ - GTest 公共基础设施位于
foundation/cmake/EdgeCollectorTesting.cmake - 测试概览文档位于
docs/testing.md - 详细测试文档位于各子工程
tests/目录下