Rap2搭建分享

Owen Jia 2020年08月13日 127次浏览

Rap是阿里淘宝团队分享的一款API管理平台,用来对接前后端接口定义的交互工作。非常好的解耦了前端等待后端接口完成才能开发的尴尬,能够让前后端团队同步开发。

Rap已经发展到了第二代,称为Rap2,目前已经开源。这次主要针对新版的Rap2进行分享,重点是如何自己搭建一套平台。

整个Rap2系统分为两个服务,分别是:

  • 前端:rap2-dolores
  • 后端:rap2-delos

后端服务依赖:mysql和redis服务,也就是需要搭建。前端是react开发的静态资源服务。

介绍以docker方式的部署

拉取官方镜像

第一步,查找image

执行命令:docker search rapteam

image.png

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命令:

image.png

第三步,初始化库表

先手动创建一个数据库:rap2

再执行命令:docker-compose exec delos node scripts/init,只需要执行一次。

image.png

之后会发现里面有一批测试数据,清除历史数据(我是看着难受)。这里特别说明因为很多表建立了外键,所以要选中全部表一次都清除才行。

也可以找到初始化脚本,手动创建;脚本位置:/rap2-delos-master/src/scripts/rap2-relos.sql

第四部,登录

访问地址:http://ip:3000,ip是自己安装的服务器ip。

image.png

注册新用户使用即可。

image.png

rap一直都是没有管理员这种东西的,所有用户都需要自己注册使用,所以推荐办公内网使用,不要暴露到外网。

自己构建镜像

重点讲如何手动构建镜像,其他忽略

重点是修改:默认的ip和port配置、Dockerfile

第一步,下载源码

地址服务:https://github.com/thx/

image.png

image.png

构建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镜像

后续再说...