阿里妈妈前端团队出品的开源接口管理工具RAP第二代.
开源社区版本 (后端 API 服务器)
阿里妈妈 THX 团队新项目 GoGoCode:https://github.com/thx/gogocode 给批量修改项目代码减轻痛苦!
RAP2 是在 RAP1 基础上重做的新项目,它能给你提供方便的接口文档管理、Mock、导出等功能,包含两个组件(对应两个 Github Repository)。
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 经常会进行 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 installconfirm 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
- 版权: 阿里妈妈前端团队
- 作者:
- RAP2 2017/10 前版本作者为墨智(@Nuysoft), mockjs的作者。
- 2017/10 之后版本开发者
- 霍雍(Bosn),RAP1作者,RAP 最早的创始人。
- 承虎(alvarto)
- 池冰(bigfengyu)
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表无数据无需处理from https://github.com/thx/rap2-delos-----Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品!阿里巴巴都在用!1000+公司的选择!RAP2已发布请移步至https://github.com/thx/rap2-delos http://rap2.taobao.org/RAP 
阿里妈妈 THX 团队新项目 GoGoCode:https://github.com/thx/gogocode 给批量修改项目代码减轻痛苦!
What is RAP?
RAP is a web tool that allows web applcation developers to rapidly define and document web APIs that are used in typical RESTful-API based web applications. RAP can also be used to generate API mock data and run API services to enable front-end developers in writing and testing their front-end code that makes consumpiont of the predefined web API loaded with mock data, hence reducing the dependency from the backend development work. Meanwhile, backend developers can implement their backend code according to the defintion of API on their own pace to meet the quality and timeline requirements. With RAP, you can really do more with less.
RAP通过GUI工具帮助WEB工程师更高效的管理接口文档,同时通过分析接口结构自动生成Mock数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的API数据,RAP可以做的更多,而我们可以避免更多重复劳动。
Why we use RAP?
- Enterprise-level application: 350+ corporations including Alibaba Group have adopted RAP to manage their important API Docs and development effort!
- Fast and responsive technical support with continuous update. Go to issues list to find out how active the community is!
- Free and open source: freedom is in your hand!
为什么我们信赖RAP?
- 企业级应用,包括阿里集团在内得350多个企业都在使用RAP管理重要的接口文档。
- 快速高效的技术支持,持续的更新,去Issues看一看就知道有多热闹。
- 免费、开源,一切尽在掌握中!
如何使用RAP
- 直接访问由作者维护的rapapi.org
- 自己部署一个RAP服务器,参考最新Release部分
快速上手 quick guide
- English: Quick Guide Manual at first.
- 中文:Video Tutorial 视频教程
分支说明
- master: 最新代码会在master,所以master是最新的,但是不保证稳定。且有一些公司自用的东西,所以提交记录可以参考,但不能直接使用master分支。
- release:是相对稳定的最新代码分支,也是RAP对外打包的分支
- 其它分支:根据开发需要,大的版本会以版本号为分支名,打一些临时分支。
最新Release
其它LINKS
- 我想大概了解RAP => Official Site 官网
- 我想查找详细的文档资料 => Wiki/Documents/Manual 文档/手册
- 我想快速了解什么是RAP => 视频介绍
- 我想快速上手RAP使用方法 => 视频教程
- 我要反馈问题 => Issues
Architecture
- Frontend: Velocity + jQuery + qUnit
- Backend: Hibernate5 + Spring4 + Struts2
- Data Store: MySQL5 + Redis3
- Deployment: Tomcat + Docker
- CI: Travis
订阅RAP更新?
为了在有新Release、发现重大安全漏洞时能够及时的通知到各位管理员,请关注 订阅帖
其它链接
- THX开源工具集: http://thx.github.io/
- 作者微博:@Bosn
RAP的客户
- 阿里巴巴集团
- 蚂蚁金服
- Boss直聘
- 苏州白鸽云信息技术有限公司
- 厦门优优汇联信息科技有限公司
- 杭州匠人网络科技有限公司
- 深圳润民科技有限公司
- 南京爱动信息技术有限公司
- 智能云科信息科技有限公司
您也在使用RAP?请 在这里 更新您的公司.
from https://github.com/thx/RAP

No comments:
Post a Comment