需求来源

领导有天开会说,我们要MockServer。
原本有人用flask写过一套金融系统的测试桩服务,本来我是兴致勃勃地想要用go重写一遍的,但是小伙伴们觉得Odin的后端就是flask,接着写就很好···
虽然我相当不喜欢flask,因为它糟糕的异步处理能力、不咋地的稳定性和对go的向往,但是为了快速实现目标,我就准备开始搞了。
然而,我发现了YAPI

官方Gayhub

说搞就搞咯

MongoDB for Docker

最好不要给mongodb加auth,会有比较恶心的错误导致装不上

docker stop mongo && docker rm mongo && docker run -itd --name mongo -p 27017:27017 -v /home/yapi/mongodb/data/db:/data/db mongo

构建node镜像

node太高了会报错

FROM node:12.14
MAINTAINER CooperHsu
RUN rm /etc/localtime
# 设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# RUN npm install pm2 -g
RUN yarn global add pm2
RUN npm install -g yapi-cli --registry https://registry.npm.taobao.org

创建node容器

docker run -itd --name yapi -p 59090:9090 -p 53000:53000 yapi

配置项目

  • docker inspect mongo
  • 获取mongo的内网地址:
  • “IPAddress”: “172.17.0.11”,
  • 在59090配置项目,配置成功后访问53000

  • 初始化管理员账号成功,账号名:”admin@liveme.com”,密码:”ymfe.org”

部分文档

安装

使用我们提供的 yapi-cli 工具,部署 YApi 平台是非常容易的。执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org 登录系统(默认密码可在个人中心修改)。

npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server

服务管理

利用pm2方便服务管理维护。

npm install pm2 -g  //安装pm2
cd  {项目目录}
pm2 start "vendors/server/app.js" --name yapi //pm2管理yapi服务
pm2 info yapi //查看服务信息
pm2 stop yapi //停止服务
pm2 restart yapi //重启服务

升级

升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。

cd  {项目目录}
yapi ls //查看版本号列表
yapi update //更新到最新版本
yapi update -v {Version} //更新到指定版本