Skip to content
Bosn edited this page Aug 8, 2018 · 5 revisions

常见问题

鸣谢

环境配置

如何后台运行

linux系统可以使用nohup,执行如下命令,

nohup node dist/dispatch.js &

但是使用nohup只是后台运行,不会在服务器发生错误时自动重启,没有完善的日志管理和运维,所以推荐使用pm2来进行管理,pm2也是默认npm start所采用的服务运行方式。

npm start

默认start脚本就会自动通过pm2来执行PRODUCTION生产模式的服务

pm2的常用命令

查看运行的服务列表

pm2 list

重启

pm2 restart [服务名|ID|ALL]

暂停

pm2 stop [服务名|ID|ALL]

删除

pm2 delete [服务名|ID|ALL]

实时查看日志

pm2 logs

PM2的日志存储位置

~/.pm2/logs

F5刷新页面后404

404的问题不是rap2的问题,而是SPA应用的问题,终极原因自行百度,这里给出解决方案(linux部署,windows暂时不知道)。 参考这个nginx配置。注意里面备注了#404的地方。

没有编辑按钮、没有导入仓库按钮、看不到仓库和团队,等等

rap2有一套权限机制。主要分为以下几种角色

  • 团队创建者。团队创建者拥有团队下属所有的仓库管理权限。拥有对成员的维护权限。只能有一名。修改团队创建者需要修改表:organizations.creatorId和organizations.ownerId。
  • 团队成员。和团队创建者比起来。可以有多名,团队成员可以添加其他人为团队成员。团队成员可以查看团队下的所有仓库,但是不能编辑。仓库编辑权限必须是仓库成员或者仓库创建者。
  • 仓库创建者。可以读写仓库,删除仓库,维护仓库成员。修改仓库创建者,改数据库repositories.ownerId,repositories.creatorId。
  • 仓库成员。可以读写仓库,不能删除仓库,可以维护仓库成员。仓库成员和团队成员的区别主要是,仓库可以讲非团队成员添加到仓库成员。比如,测试团队成员。

成员管理

除了rap2包含的一套成员管理外,公司内部还存在这些管理角色。

  • 超管。超管负责rap2的升级,维护,改库(很多功能都只能改库),管理团队leader的相关信息。
  • 团队leader。管理自己团队的仓库,包括成员的维护,仓库的建立,等等。
  • 仓库管理员。可能是某个项目的主程之类的角色。负责添加测试等非团队角色到仓库里。
  • 成员。 以上三个角色是一个树形结构,每个人最好只管下级。

修改密码,忘记密码

目前只能改库。找一个密码已知的用户(比如,123456),把他的密码覆盖到忘记/修改密码的用户的password字段上。

导入

自己在rap2,团队下找。如果没有导入按钮,说明权限有问题,让团队管理员把你的账号添加为团队成员。

导出

现在只支持导出postman,在哪里导出,自己找

性能

rap1的性能极其低下,所以我们才使用了rap2,但是目前rap2仍然存在一定性能上的问题。第一次打开仓库的时候还是比较耗时(第二次估计数据已经预热到redis会有缓解),估计是由于ORM是采用Sequelize(有点类似java里的Hibernate)实现的,没有对一些情况进行优化,同时做了很多外键关联等等。作者是FE大神,在后端的一些技巧上还不能通吃,后期估计会有改善。所以部署的时候,性能瓶颈可能会出现在db上。有能力的朋友可以考虑提mr救助下。

Clone this wiki locally