yapi的搭建和使用

长期以来我所在的开发团队和公司一直采用基于Restful API或者WebAPI为主的开发方式,对于RestfulAPI和Web API就需要相关的API测试工具和API文档工具以及团队协作工具,过去都是开发们自己使用了postman工具来进行的,但是缺点是postman工具缺少团队化也属于三方工具无法自己搭建,一直想寻找相关的工具,终于发现了YAPI这个套件。

YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台 http://yapi.demo.qunar.com/ 它的Github站点为:
https://github.com/YMFE/yapi

特性
基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
类似 postman 的接口调试
自动化测试, 支持对 Response 断言
MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
支持 postman, har, swagger 数据导入
免费开源,内网部署,信息再也不怕泄露了

这里因为公司服务器环境上都是采用docker进行部署的,这篇文章写下有关yapi docker部署的过程。

YAPI服务端存储的数据库是文档数据库mongodb,因此首先建立mongodb镜像并配置授权

docker run -d --name mongo  -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=xxx -e MONGO_INITDB_ROOT_PASSWORD=XXXXX -v /data/mongo:/data/db  mongo

以上命令建立mongo并设置了文件存储路径。

下面是yapi docker镜像文件的制作。 yapi的依赖主要是nodejs,因此采用docker的node官方镜像为模板
先将下载到的yapi源码按照下图格式保存

其中confg.json是配置文件,Dockerfile是编译文件,先看下Dockerfile

FROM node:latest
ADD entrypoint.sh /usr/local/entrypoint.sh
COPY yapi /usr/local/yapi
RUN cd /usr/local/yapi/vendors && npm install --production --registry https://registry.npm.taobao.org && chmod 777 /usr/local/entrypoint.sh
EXPOSE 3000
ENTRYPOINT ["/usr/local/entrypoint.sh"]

看下入口的sh文件

#!/bin/bash

# yapi初始化后会有一个init.lock文件
lockPath="/usr/local/yapi/init.lock"


# 进入yapi项目
cd /usr/local/yapi/vendors


# 如果初始化文件文件存在,则直接运行,否则初始化
if [ ! -f "$lockPath" ]
then
  # 启动Yapi初始化
  node server/install.js
  # 若是初始化成功的情况下直接运行yapi
  node server/app.js
else
  # 运行yapi管理系统
  node server/app.js
fi

简单看下config文件

    {
      "port": "3000",
      "adminAccount": "admin@admin.com",
      "db": {
        "servername": "mongo",
        "DATABASE": "yapi",
        "port": 27017,
        "user": "xxxx",
        "pass": "xxxx",
        "authSource": "admin"
      },
      "mail": {
        "enable": true,
        "host": "xxx.xxx.com",
        "port": 465,
        "from": "xxx@xxx.com",
        "auth": {
          "user": "xxx@xxx.com",
          "pass": "xxx"
        }
      }
    }

在目录下运行docker build . -t yapi:1.7.0 并推到阿里云镜像点上
在服务器上运行如下命令,启动镜像:

docker run -d -v /data/mongo/:/data/db -p 27017:27017 --name=mongo registry.cn-shanghai.aliyuncs.com/xunzhao/mongo:latest

配置nginx转发3000端口关联域名完成配置。

Lokie博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.1 搭建 © 2014-2018 lokie.wang 版权所有 ICP证:沪ICP备18016993号
  • 联系邮箱:kitche1985@hotmail.com