暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

测试工具:yapi搭建

测试开发笋货 2021-07-21
1211

背景

上一期笋货杂谈,讲了造数据相关的一些想法,其中里面的 「困惑解决」 有提过yapi开源工具,可以解决我的需求,下面就带大家来搭建yapi以及一些基础的使用方法。上期回顾:笋货杂谈:造数据

YApi官网:https://hellosean1025.github.io/yapi/index.html

部署方案

YApi官方部署方案:https://hellosean1025.github.io/yapi/devops/index.html

  1. 可视化部署
    YApi支持 「前端脚手架CLI」 不知道什么是脚手架的小伙伴可以通过搜索引擎搜索一下,这里就不过多解释啦~通过npm安装yapi-cli,然后直接yapi server启动可视化部署程序,通过在页面输入配置信息,完成部署。
  2. 命令行部署
    通过git将整个代码拉下来,手动npm install,手动更改配置文件,写个dockerfile,构建docker镜像,再通过rancher进行部署

方案分析

  1. 比较简单,一键傻瓜式部署,容错率较低,公司如有充足的服务器资源,最合适不过了,专机专用~此方案推荐
  2. 此方案比较折腾,不建议小伙伴去尝试,不过对于动手能力强的可以尝试一下

部署方案实现过程

我比较喜欢爱折腾,选择了方案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体验
  1. 数据导入支持swagger



将造数服务的api全都导进去,统一管理

  1. 定时同步swagger的接口信息(这个功能挺nice)


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



总结

本次介绍了yapi的搭建过程,希望能对小伙伴有帮助~

各位,下期再见~

测试开发X货系列友链:



文章转载自测试开发笋货,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论