1 Star 1 Fork 2

wu_kaka / rap2-delos

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

RAP2-DELOS 开源社区版本 (后端 API 服务器)

阿里妈妈 THX 团队新项目 GoGoCode:https://github.com/thx/gogocode 给批量修改项目代码减轻痛苦!

RAP2 是在 RAP1 基础上重做的新项目,它能给你提供方便的接口文档管理、Mock、导出等功能,包含两个组件(对应两个 Github Repository)。

  • rap2-delos: 后端数据 API 服务器,基于 Koa + MySQLlink
  • rap2-dolores: 前端静态资源,基于 React link

Rap 官方服务站点,无需安装直接体验: rap2.taobao.org

注意:本工具为开发工具,相关API未做任何XSS等安全验证,请勿在生产环境依赖RAP的任何服务!!!

有急事来官方钉钉群,响应更迅速: 31626736 (二群,一群已满)

2019-10-31:现已支持 Docker 一键部署,欢迎大家体验&反馈

2019-09-27:更新的用户请注意按照下面指引安装 pandoc 以启用文档导出功能

推荐使用 Docker 快速部署

安装 Docker

国内用户可参考 https://get.daocloud.io/ 安装 Docker 以及 Docker Compose (Linux 用户需要单独安装),建议按照链接指引配置 Docker Hub 的国内镜像提高加载速度。

配置项目

在任意地方建立目录 rap

把本仓库中的 docker-compose.yml 放到 rap 目录中

Rap 前端服务的端口号默认为 3000,你可以在 docker-compose.yml 中按照注释自定义

在 rap 目录下执行下面的命令:

# 拉取镜像并启动
docker-compose up -d

# 启动后,第一次运行需要手动初始化mysql数据库
# ⚠️注意: 只有第一次该这样做
docker-compose exec delos node scripts/init

# 部署成功后 访问
http://localhost:3000 # 前端(可自定义端口号)
http://localhost:38080 # 后端

# 如果访问不了可能是数据库没有链接上,关闭 rap 服务
docker-compose down
# 再重新运行
docker-compose up -d
# 如果 Sequelize 报错可能是数据库表发生了变化,运行下面命令同步
docker-compose exec delos node scripts/updateSchema

⚠️注意:第一次运行后 rap 目录下会被自动创建一个 docker 目录,里面存有 rap 的数据库数据,可千万不要删除。

镜像升级

Rap 经常会进行 bugfix 和功能升级,用 Docker 可以很方便地跟随主项目升级

# 拉取一下最新的镜像
docker-compose pull
# 暂停当前应用
docker-compose down
# 重新构建并启动
docker-compose up -d --build
# 有时表结构会发生变化,执行下面命令同步
docker-compose exec delos node scripts/updateSchema
# 清空不被使用的虚悬镜像
docker image prune -f

手动部署

环境要求

  • Node.js 8.9.4+
  • MySQL 5.7+
  • Redis 4.0+
  • pandoc 2.73 (供文档生成使用)

开发模式

安装 MySQL 和 Redis 服务器

请自行查找搭建方法,mysql/redis 配置在 config.*.ts 文件中,在不修改任何配置的情况下, redis 会通过默认端口 + 本机即可正常访问,确保 redis-server 打开即可。

注意:修改 cofig 文件后需要重新 npm run build 才能生效

安装 pandoc

我们使用 pandoc 来生成 Rap 的离线文档,安装 Pandoc 最通用的办法是在 pandoc 的 release 页面下载对应平台的二进制文件安装即可。

其中 linux 版本最好放在/usr/local/bin/pandoc 让终端能直接找到,并执行 chmod +x /usr/local/bin/pandoc 给调用权限。

测试在命令行执行命令 pandoc -h 有响应即可。

启动redis-server

redis-server

后台执行可以使用 nohup 或 pm2,这里推荐使用 pm2,下面命令会安装 pm2,并通过 pm2 来启动 redis 缓存服务

npm install -g pm2
npm run start:redis

先创建创建数据库

mysql -e 'CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci'

初始化

npm install

confirm configurations in /config/config.dev.js (used in development mode),确认/config/config.dev.js 中的配置(.dev.js 后缀表示用于开发模式)。

安装 && TypeScript 编译

npm install -g typescript
npm run build

初始化数据库表

npm run create-db

执行 mocha 测试用例和 js 代码规范检查

npm run check

启动开发模式的服务器 监视并在发生代码变更时自动重启

npm run dev

生产模式

# 1. 修改/config/config.prod.js中的服务器配置
# 2. 启动生产模式服务器
npm start

社区贡献

Author

Tech Arch

  • 前端架构(rap2-dolores)
    • React / Redux / Saga / Router
    • Mock.js
    • SASS / Bootstrap 4 beta
    • server: nginx
  • 后端架构(rap2-delos)
    • Koa
    • Sequelize
    • MySQL
    • Server
    • server: node

旧版本升级

-数据库数据迁移  RAP2 2.4迁移到2.8
  由于数据库表有主外键,按以下顺序插入数据
  1.Users
  2.Organizations
  3.Repositories
  4.repositories_members(备注:将createdAt、updatedAt两个字段必填去除)
  5.organizations_members
  6.Modules
  7.Interfaces
  8.Loggers
  9.Properties(备注:将数据scope字段的所有''值替换成'String')
  default_val和repositories_collaborators表无数据无需处理
MIT License Copyright (c) 2018 THX Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

电脑访问不了github上的rap2,就用gitee的导入项目安装rap2 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wukaiquan/rap2-delos.git
git@gitee.com:wukaiquan/rap2-delos.git
wukaiquan
rap2-delos
rap2-delos
master

搜索帮助