Files
iot-dc3/docs/quickstart/index.md
T

147 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 快速开始
从源码到运行,一站式本地开发流程。
!!! note "运行目录"
除非特别说明,下文命令都在仓库根目录执行。
## 前置依赖
- JDK 21
- Maven 3.9+
- Podman 或 Docker
- Make(可选,但推荐)
## 1. 启动基础设施
```bash
# 全球镜像源
make dev-db
# 中国大陆镜像源
make dev-db REGISTRY=cn
```
会拉起 PostgreSQL 与 RabbitMQ。
## 2. (可选)启动可选依赖
```bash
make dev-optional
# 或
make dev-optional REGISTRY=cn
```
通常用于 EMQX 等 MQTT broker。
## 3. 加载环境变量(源码运行可选)
```bash
source dc3/env/dev.env.sh
```
文件中会导出数据库、消息中间件、gRPC 目标、可选 AI 集成等开发默认值。
根目录 `.env.example` 与 `dc3/env/dev.env(.sh)` 的具体区别参见 [环境变量](environment.md)。
## 4. 在 JetBrains IDEA 中运行
IDEA 运行配置可使用 `dc3/env/dev.env` 配合 EnvFile 插件,或将其键值对粘贴到运行配置的环境变量中。仅在需要时按服务覆盖:
`SERVER_PORT`、`GRPC_SERVER_PORT`、`TCP_PORT`、`UDP_PORT`、`POSTGRES_SCHEMA`。
详情见 [环境变量 § JetBrains IDEA](environment.md)。
## 5. 源码构建
```bash
# 并行构建(快)
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. 启动服务(推荐顺序)
```bash
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 启动(替代方式)
```bash
# 本地开发栈
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. 常用维护命令
```bash
# 打印解析后的 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. 推荐本地工作流
1. `make dev-db`
2. `mvn -s .mvn/settings.xml clean package`
3. 按 Gateway → Auth → Data → Manager → Agentic → Driver 顺序启动
4. 通过 Gateway `http://localhost:8000/api/v3/...` 测试 API
5. 如需可观测栈,待核心平台稳定后再启动 Grafana / ELK
## 11. 常见坑
- 如果 pre/pro profile 需要 Nacos,确保注册中心可用
- 端口被占用时,可在根 `.env` 中覆盖 Compose 发布端口,或通过服务级环境变量覆盖进程端口
- 调试时如希望单 JVM 跑全部服务,使用 `dc3-center-single`:
```bash
java -jar dc3-center/dc3-center-single/target/dc3-center-single.jar
```