AREX 前后端开发文档
本文将指导开发者能够对 AREX 的前后端项目进行调试并开发,同时,我们也欢迎大家将相关问题修复和新功能实现作为贡献提交到主分支。
项目结构
AREX 的核心服务组件包括前端项目: AREX-Front、后端项目:AREX-Storage、AREX-Schedule、AREX-API 。
服务 | 描述 | YOUR local IP | 关联服务组件 | 最小配置建议 |
---|---|---|---|---|
AREX-Front | AREX 前端页面。 | 10.5.1.100 | AREX-Web-API,Storage,Schedule 服务 | 1 核 1G 内存 |
AREX-Storage | 为 AREX Agent 提供了以 Mock 方式保存录制和获取响应的功能。 | 10.5.1.101 | MongoDB,Redis,AREX-Web-API 服务 | 2 核 3G 内存 |
AREX-Schedule | 用于发送回放请求并检索所有响应以进行比较。 | 10.5.1.102 | MongoDB,Redis,Storage,AREX-Web-API 服务 | 2 核 4G 内存 |
AREX-API | 为 AREX 前端页面提供所有 API 接口。 | 10.5.1.103 | MongoDB,Redis,Storage 服务,Front 前端 | 2 核 6G 内存 |
配置开发环境
后端项目
为了能够更方便地进行调试,我们可以先通过 docker-compose
在自己的本地环境搭建一套 AREX。并使用该环境的 DB 和 Redis 作为我们的开发环境。安装文档可参考:http://arextest.com/docs/chapter1/quick-installation
AREX-API
- 通过
git clone
命令克隆arex-api
项目的代码库到本地。
git clone https://github.com/arextest/arex-api.git
在 IDEA 中打开该项目。
配置 JVM 的启动参数,包括覆盖配置文件中的必要参数。其中,
-Darex.storage.service.url
参数用于指定部署的storage
服务地址,-Darex.report.mongo.uri
参数用于指定部署的mongo
地址,-Darex.redis.uri
参数用于指定部署的redis
地址。
-Darex.storage.service.url=http://<部署的storage服务地址>:8093
-Darex.report.mongo.uri=mongodb://arex:iLoveArex@<部署的mongo地址>:27017/arex_storage_db
-Darex.redis.uri=redis://<部署的redis地址>:6379/
- 启动调试,即可开始进行调试工作。
Storage 和 Schedule 项目的启动方式类似,这里就不再一一赘述。只介绍下每个项目的启动参数。
Storage 的启动参数
-Darex.storage.mongo.host=mongodb://arex:iLoveArex@<部署的mongo地址>:27017/arex_storage_db
-Darex.storage.cache.url=redis://<部署的redis地址>:6379/
-Darex.report.service.api=http://<部署的arex-api地址>:8090/
Schedule 的启动参数
-Darex.storage.service.api=http://<部署的storage地址>:8093
-Darex.report.service.api=http://<部署的arex-api地址>:8090
-Darex.schedule.cache.redis.host=redis://<部署的redis地址>:6379
-Dmongo.uri=mongodb://arex:iLoveArex@<部署的mongo地址>:27017/arex_storage_db
前端项目
开发环境
最低 | 推荐 | |
---|---|---|
node | 16.14 | 18 |
pnpm | 8 | 8 |
技术栈
- React 18
- AntDesign 5
- Zustand
- Emotion
- i18n
- pnpm
- ...
目录结构
.
└── packages
├── arex 主项目包
├── arex-core 公共组件包 - 提供面向业务逻辑封装的重型组件
├── arex-common 核心组件包 - 提供 arex 基础架构组件、可复用的无状态组件、工具函数等
├── arex-request 请求包 - 提供浏览器发送 http-rest 请求支持
└── arex-lite 精简版 - 提供 arex 项目结构及组件 demo 演示
启动项目
通过 git clone
命令克隆 arex
项目的代码库到本地。
git clone https://github.com/arextest/arex
cd arex
pnpm install
pnpm run dev
执行测试脚本
pnpm run test
打包构建
pnpm run build