mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-10-31 18:21:58 +08:00
3.5 KiB
3.5 KiB
快速开始
从源码到运行,一站式本地开发流程。
!!! note "运行目录" 除非特别说明,下文命令都在仓库根目录执行。
前置依赖
- JDK 21
- Maven 3.9+
- Podman 或 Docker
- Make(可选,但推荐)
1. 启动基础设施
# 全球镜像源
make dev-db
# 中国大陆镜像源
make dev-db REGISTRY=cn
会拉起 PostgreSQL 与 RabbitMQ。
2. (可选)启动可选依赖
make dev-optional
# 或
make dev-optional REGISTRY=cn
通常用于 EMQX 等 MQTT broker。
3. 加载环境变量(源码运行可选)
source dc3/env/dev.env.sh
文件中会导出数据库、消息中间件、gRPC 目标、可选 AI 集成等开发默认值。
根目录 .env.example 与 dc3/env/dev.env(.sh) 的具体区别参见 环境变量。
4. 在 JetBrains IDEA 中运行
IDEA 运行配置可使用 dc3/env/dev.env 配合 EnvFile 插件,或将其键值对粘贴到运行配置的环境变量中。仅在需要时按服务覆盖:
SERVER_PORT、GRPC_SERVER_PORT、TCP_PORT、UDP_PORT、POSTGRES_SCHEMA。
5. 源码构建
# 并行构建(快)
mvn -s .mvn/settings.xml clean package
# 部署 API/Common 模块(如有需要)
make deploy
仓库已配置:
- 并行构建(
-T 1C) - 打包跳过测试(
-Dmaven.test.skip=true) - 强制 JDK 21、Maven 3.9+
- Spring Java Format 校验
6. 启动服务(推荐顺序)
java -jar dc3-gateway/target/dc3-gateway.jar
java -jar dc3-center/dc3-center-auth/target/dc3-center-auth.jar
java -jar dc3-center/dc3-center-data/target/dc3-center-data.jar
java -jar dc3-center/dc3-center-manager/target/dc3-center-manager.jar
java -jar dc3-center/dc3-center-agentic/target/dc3-center-agentic.jar
java -jar dc3-driver/dc3-driver-virtual/target/dc3-driver-virtual.jar
7. 通过 Compose 启动(替代方式)
# 本地开发栈
make dev
make dev REGISTRY=cn
# 完整本地环境(db + optional + dev)
make dev-all
make dev-all REGISTRY=cn
# 打包镜像应用栈
make app
make app REGISTRY=cn
make app-all REGISTRY=cn
8. 常用维护命令
# 打印解析后的 compose 文件
make compose-file STACK=dev
# 查看日志
make compose-logs STACK=dev
# 容器状态
make compose-ps STACK=dev
# 重启
make compose-restart STACK=dev
# 仅启动选定服务(前端/接口测试)
make dev-db REGISTRY=cn
make up SERVICES="gateway agentic" REGISTRY=cn
make logs SERVICES="gateway agentic"
9. 默认服务端口
| 服务 | HTTP | gRPC |
|---|---|---|
| Gateway | 8000 | - |
| Auth Center | 8300 | 9300 |
| Manager Center | 8400 | 9400 |
| Data Center | 8500 | 9500 |
| Agentic Center | 8600 | - |
10. 推荐本地工作流
make dev-dbmvn -s .mvn/settings.xml clean package- 按 Gateway → Auth → Data → Manager → Agentic → Driver 顺序启动
- 通过 Gateway
http://localhost:8000/api/v3/...测试 API - 如需可观测栈,待核心平台稳定后再启动 Grafana / ELK
11. 常见坑
- 如果 pre/pro profile 需要 Nacos,确保注册中心可用
- 端口被占用时,可在根
.env中覆盖 Compose 发布端口,或通过服务级环境变量覆盖进程端口 - 调试时如希望单 JVM 跑全部服务,使用
dc3-center-single:
java -jar dc3-center/dc3-center-single/target/dc3-center-single.jar