开发调试(本地)

# 开发调试(本地)

本文档描述在本地启动扬帆测试平台(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 启动 web(前端)

cd web
npm install
npm run serve
1
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

data 默认监听配置文件里的 data-warehouse.port(默认 9000)。

# 5.2 启动 run(用例运行服务)

cd run
go run .
1
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

可选:

  • NODE_ALIAS:节点别名(用于前端展示)