开发调试(本地)
# 开发调试(本地)
本文档描述在本地启动扬帆测试平台(server/web/run/data)用于开发调试的推荐流程。
# 前置条件
- Go:>= 1.23
- Node.js:>= 16.4
- Docker + Docker Compose:用于快速启动 MySQL/Redis/RabbitMQ
# 1. 启动依赖服务(MySQL/Redis/RabbitMQ)
在项目根目录执行:
docker-compose -f deploy/docker-compose/docker-compose.data.yml up -d
1
默认端口(宿主机):
- MySQL:43306(root/123456,默认库 yf)
- RabbitMQ:45672(AMQP),45673(管理台)
- Redis:46378
# 2. 首次启动(只启动 server + web)
# 2.1 启动 server(后端 API)
server 需要能够读取到配置文件(默认是 config.yaml),建议二选一:
- IDE(推荐):运行
server模块的main.go,并把 Working Directory 设为server/ - 命令行:
cd server
go run .
1
2
2
# 2.2 启动 web(前端)
cd web
npm install
npm run serve
1
2
3
2
3
默认会在 http://localhost:8080 启动前端,并把 /api 代理到 http://127.0.0.1:8888(见 web/.env.development)。
# 3. 在前端完成初始化(首次必做)
打开 http://localhost:8080,如果系统检测到未初始化,会跳转到“初始化”页面。推荐使用本地 docker-compose 的 MySQL:
- DBType:mysql
- Host:127.0.0.1
- Port:43306
- UserName:root
- Password:123456
- DBName:yf
- AdminPassword:设置管理员账号
admin的密码
提交初始化后,后端会建库/建表/写入初始数据,并把 DB 配置写入配置文件。
# 4. 重启 server,并配置 MQ / 平台配置
初始化完成后,需要重启 server 让配置在进程内生效(MQ 初始化、定时任务、数据仓库端口等都在启动时加载)。
server 重启完成后,进入前端:
- 系统工具 → 系统配置 → MQ配置:填写 RabbitMQ 连接信息
- Host:127.0.0.1
- Port:45672
- Username/Password:guest/guest(按你的实际环境)
- 系统工具 → 系统配置 → 平台配置:填写数据仓库(data)服务地址
- Host:127.0.0.1
- Port:9000(与
data服务启动端口保持一致)
修改后会落盘到配置文件;若你已启动过 run/data,需要在修改配置后重启它们以重新加载。
# 5. 启动 run、data 服务
# 5.1 启动 data(数据仓库服务)
cd data
go run .
1
2
2
data 默认监听配置文件里的 data-warehouse.port(默认 9000)。
# 5.2 启动 run(用例运行服务)
cd run
go run .
1
2
2
run 默认以 RUN_SERVICE_MODE=runner 启动(消费执行队列)。如需同时启用定时调度,可用:
RUN_SERVICE_MODE=all go run .
1
# 6. 多节点 run(本地模拟)
在本地可以起多个 run 实例模拟多节点,关键是每个节点必须使用不同的 NODE_NAME:
# 节点 1:执行(runner)
NODE_NAME=runner-a RUN_SERVICE_MODE=runner go run .
# 节点 2:执行(runner)
NODE_NAME=runner-b RUN_SERVICE_MODE=runner go run .
# 节点 3:只跑定时(timer)
NODE_NAME=timer-a RUN_SERVICE_MODE=timer go run .
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
可选:
NODE_ALIAS:节点别名(用于前端展示)