Rap是阿里淘宝团队分享的一款API管理平台,用来对接前后端接口定义的交互工作。非常好的解耦了前端等待后端接口完成才能开发的尴尬,能够让前后端团队同步开发。
Rap已经发展到了第二代,称为Rap2,目前已经开源。这次主要针对新版的Rap2进行分享,重点是如何自己搭建一套平台。
整个Rap2系统分为两个服务,分别是:
- 前端:rap2-dolores
- 后端:rap2-delos
后端服务依赖:mysql和redis服务,也就是需要搭建。前端是react开发的静态资源服务。
介绍以docker方式的部署
拉取官方镜像
第一步,查找image
执行命令:docker search rapteam
rapteam是官方团队提供,推荐使用,心大的也可以下载其他image。
第二步,构建container运行
创建目录:/data/build/rap2/
若果自己没有mysql和redis服务,那直接下载官方docker-compose.yml文件,然后执行docker-compose up -d
即可允许成功。
我是选择自有mysql库,redis采用镜像新起一个的方案。
docker-compose.yml:
# rap2编排
version: "3"
services:
# frontend
dolores:
image: rapteam/rap2-dolores:latest
ports:
- 3000:38081
# backend
delos:
image: rapteam/rap2-delos:latest
ports:
- 38080:38080
environment:
- SERVE_PORT=38080
- MYSQL_URL=11.22.22.22
- MYSQL_PORT=3306
- MYSQL_USERNAME=root
- MYSQL_PASSWD=root123
- MYSQL_SCHEMA=rap2
# redis config
- REDIS_URL=redis
- REDIS_PORT=6379
# production / development
- NODE_ENV=production
command: /bin/sh -c 'node dispatch.js'
depends_on:
- redis
redis:
image: redis
最后执行docker-compose up -d
,即可拉取成功。
查看docker ps
命令:
第三步,初始化库表
先手动创建一个数据库:rap2
再执行命令:docker-compose exec delos node scripts/init
,只需要执行一次。
之后会发现里面有一批测试数据,清除历史数据(我是看着难受)。这里特别说明因为很多表建立了外键,所以要选中全部表一次都清除才行。
也可以找到初始化脚本,手动创建;脚本位置:
/rap2-delos-master/src/scripts/rap2-relos.sql
第四部,登录
访问地址:http://ip:3000,ip是自己安装的服务器ip。
注册新用户使用即可。
rap一直都是没有管理员这种东西的,所有用户都需要自己注册使用,所以推荐办公内网使用,不要暴露到外网。
自己构建镜像
重点讲如何手动构建镜像,其他忽略
重点是修改:默认的ip和port配置、Dockerfile
第一步,下载源码
构建rap2-dolores镜像
修改后端服务访问地址:/src/config/config.prod.js
const config: IConfig = {
serve: 'http://11.222.222.222:8030',
keys: ['some secret hurr'],
session: {
key: 'koa:sess',
},
}
export default config
构建rap2-relos镜像
后续再说...