背景
上一期笋货杂谈,讲了造数据相关的一些想法,其中里面的 「困惑解决」 有提过yapi开源工具,可以解决我的需求,下面就带大家来搭建yapi以及一些基础的使用方法。上期回顾:笋货杂谈:造数据
YApi官网:https://hellosean1025.github.io/yapi/index.html
部署方案
YApi官方部署方案:https://hellosean1025.github.io/yapi/devops/index.html
可视化部署 YApi支持 「前端脚手架CLI」 不知道什么是脚手架的小伙伴可以通过搜索引擎搜索一下,这里就不过多解释啦~通过npm安装yapi-cli,然后直接yapi server启动可视化部署程序,通过在页面输入配置信息,完成部署。 命令行部署 通过git将整个代码拉下来,手动npm install,手动更改配置文件,写个dockerfile,构建docker镜像,再通过rancher进行部署
方案分析
比较简单,一键傻瓜式部署,容错率较低,公司如有充足的服务器资源,最合适不过了,专机专用~此方案推荐 此方案比较折腾,不建议小伙伴去尝试,不过对于动手能力强的可以尝试一下
部署方案实现过程
我比较喜欢爱折腾,选择了方案2~
mkdir yapi 新建yapi目录
cd yapi 去到yapi目录
git clone https://github.com/YMFE/yapi.git vendors 克隆代码到vendors目录下
将config配置文件拷贝到yapi目录下
cp vendors/config_example.json ./config.json
配置文件如下:
{
"port": "3000",
"adminAccount": "xxxx@qq.com",
"timeout":120000,
"db": {
"servername": "192.168.xx.xx",
"DATABASE": "name",
"port": 3306,
"user": "",
"pass": "",
"authSource": ""
}
}
npm 安装相关的包
npm install --production --registry https://registry.npm.taobao.org
初始化数据库索引和管理员账号
npm run install-server
去到vendors目录下启动服务试一下,启动后直接访问127:0.0.1:3000
node server/app.js

PS: MongoDB我用的是测开组的服务,没有直接搭建,yapi用的是MongoDB存储数据,部署yapi之前记得先搭建好MongoDB!!!
dockerfile构建镜像
去到yapi目录下,新建dockerfile文件
# 使用官方node镜像为基础镜像
FROM node:12-alpine
# 创建服务运行的目录
RUN mkdir opt/yapi
#拷贝宿主机上下文目录到容器的/opt/yapi下
COPY . opt/yapi
#切换到/opt/yapi/vendors工作目录下
WORKDIR opt/yapi/vendors
#容器启动时运行项目启动命令
CMD [ "node","server/app.js" ]
这里我没有使用pm2管理node服务器启动,有想法的小伙伴可以自行扩展~ 构建好的镜像,出现启动不了的,记得查看一下镜像日志
docker logs -f CONTAINER ID

上图就是执行目录不对,无法启动
在yapi目录下执行build命令
docker build -t yapi:v2 .

启动docker镜像试一试
docker run -p 3000:3000 -d yapi:v2

rancher部署
标记本地镜像
docker tag yapi:v2 harbor.xxx.com.cn/fang/yapi:v2
将镜像推送到镜像仓库
docker push harbor.xxx.com.cn/fang/yapi:v2
rancher拉镜像进行部署服务

启动成功后,直接访问主机ip:端口,即可访问yapi
更多部署方案,可看官方README.md文档
https://github.com/YMFE/yapi/blob/master/README.md
yapi体验
数据导入支持swagger


将造数服务的api全都导进去,统一管理
定时同步swagger的接口信息(这个功能挺nice)

完善的项目管理,可接入其他组的swagger文档

总结
本次介绍了yapi的搭建过程,希望能对小伙伴有帮助~
各位,下期再见~
测试开发X货系列友链:
文章转载自测试开发笋货,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




