顶尖 API 文档管理工具 (Yapi)

作者: Anoyi

2018.04.05 11:26*

前言介绍

Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。

  • 权限管理
    YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求

  • 可视化接口管理
    基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率

  • Mock Server
    易用的 Mock Server,再也不用担心 mock 数据的生成了

  • 自动化测试
    完善的接口自动化测试,保证数据的正确性

  • 数据导入
    支持导入 swagger, postman, har 数据格式,方便迁移旧项目

  • 插件机制
    强大的插件机制,满足各类业务需求

使用 Docker 构建 Yapi

1、创建 MongoDB 数据卷

docker volume create mongo_data_yapi

2、启动 MongoDB

docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo

3、获取 Yapi 镜像,版本信息可在 阿里云镜像仓库 查看

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

4、初始化 Yapi 数据库索引及管理员账号

docker run -it --rm \
  --link mongo-yapi:mongo \
  --entrypoint npm \
  --workdir /api/vendors \
  registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  run install-server

自定义配置文件挂载到目录 /api/config.json,官方自定义配置文件 -> 传送门

5、启动 Yapi 服务

docker run -d \
  --name yapi \
  --link mongo-yapi:mongo \
  --workdir /api/vendors \
  -p 3000:3000 \
  registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  server/app.js

使用 Yapi

访问 http://localhost:3000 登录账号 admin@admin.com,密码 ymfe.org

至此,帅气的 Yapi 就可以轻松使用啦!更多文档信息,请参考

其他相关操作

关闭 Yapi

docker stop yapi

启动 Yapi

docker start yapi

升级 Yapi

# 1、停止并删除旧版容器
docker rm -f yapi

# 2、获取最新镜像
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

# 3、启动新容器
docker run -d \
  --name yapi \
  --link mongo-yapi:mongo \
  --workdir /api/vendors \
  -p 3000:3000 \
  registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  server/app.js

构建任意版本 yapi 镜像

提示:以下所有文件均放在同一目录下

1、编写 Dockerfile

FROM node:9.2-alpine as builder
RUN apk add --no-cache git python make openssl
ADD yapi.zip /yapi.zip
RUN mkdir /api && \
    unzip yapi.zip && \
    rm -f yapi.zip && \
    mv yapi* /api/vendors
RUN cd /api/vendors && \
    npm install --production --registry https://registry.npm.taobao.org
FROM node:9.2-alpine
MAINTAINER 545544032@qq.com
ENV TZ="Asia/Shanghai" HOME="/"
WORKDIR ${HOME}
COPY --from=builder /api/vendors /api/vendors
COPY config.json /api/
EXPOSE 3000
ENTRYPOINT ["node"]

2、自定义配置文件 config.json

{
  "port": "3000",
  "adminAccount": "admin@admin.com",
  "db": {
    "servername": "mongo",
    "DATABASE": "yapi",
    "port": 27017
  }
}

3、镜像构建脚本 build

echo -e "\033[32m download new package (version $1) \033[0m"

wget -O yapi.zip http://yapi.demo.qunar.com/publicapi/archive/$1

echo -e "\033[32m build new image \033[0m"

docker build -t registry.cn-hangzhou.aliyuncs.com/anoy/yapi .

使脚本可执行: chmod a+x build

4、本地构建镜像,版本列表 -> 传送门

./build <Version>

示例: ./build v1.3.22

评论

评论

昵称
邮箱