YApi docker部署——基于腾讯云轻量应用服务器

2023-04-10 15:54:18 浏览数 (2)

YApi介绍

YApi 可视化接口管理平台,是高效、易用、功能强大的 API 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

github地址:https://github.com/YMFE/yapi

我们公司之前从研发流程来讲,我们有一个痛点是,前端工程师、后端工程师接到需求后,会拟定API接口协议,在这个阶段,我们没有工具能够简单易用的创建我们的接口,并让前端工程师基于这样的接口的mock数据联调开发。因此,我们只有两个选择,要么让后端工程师快速的做mock接口,要么让前端工程师mock数据展现。

如果是新服务,后端工程师mock接口需要先将服务搭建起来,然后mock接口,存在一定的工作串行化。

如果前端工程师mock数据展现,则有可能存在两遍工作量。

而YApi可以较好的解决这个问题。

我们之前使用swagger,但swagger也是需要先将服务搭建起来,才能有系统文档。swagger和YApi不能完全对标。YApi更多的是前后端工程师的沟通工具,swagger是后验的API文档构建工具。

本文主要介绍YApi的docker化部署在腾讯云轻量应用服务器上。

命令行方式部署

1. 部署MongoDB镜像

登陆到腾讯云轻量应用服务器,处于/root目录下,

代码语言:shell复制
# 创建存储卷
docker volume create mongo-data

# 启动 MongoDB
docker run -d 
  --name mongo-yapi 
  -v mongo-data:/data/db 
  -e MONGO_INITDB_ROOT_USERNAME=yapiadmin 
  -e MONGO_INITDB_ROOT_PASSWORD=yapipwd 
  mongo

# 确认 MongoDB启动正常
docker exec -it mongo-yapi /bin/bash
mongo -u yapiadmin -p yapipwd --authenticationDatabase admin

如果由于镜像版本过高,没有mongo命令,则改为使用mongosh

2. 构建YApi镜像

构建config.json文件,内容如下:

代码语言:json复制
{
  "port": "3000",
  "adminAccount": "your@email.com",
  "timeout":120000,
  "db": {
    "servername": "mongo",
    "DATABASE": "yapi",
    "port": 27017,
    "user": "yapiadmin",
    "pass": "yapipwd",
    "authSource": "admin"
  }
}

config.json文件放置在腾讯云轻量应用服务器的/root目录下。

在本地环境创建Dockerfile文件,内容如下:

代码语言:shell复制
FROM node:12-alpine
WORKDIR /usr/src/yapi
RUN apk add --no-cache wget python3 make vim
RUN npm install -g pm2 
 && npm install -g node-gyp
ENV VERSION=1.9.2
RUN wget https://github.com/YMFE/yapi/archive/v${VERSION}.zip
RUN unzip v${VERSION}.zip && mv yapi-${VERSION} vendors
RUN cd /usr/src/yapi/vendors && cp config_example.json ../config.json && npm install --production
EXPOSE 3000
ENTRYPOINT ["npm", "run", "start"]

在本地环境中,执行:

代码语言:shell复制
docker login ccr.ccs.tencentyun.com --username=[username]
docker build -t ccr.ccs.tencentyun.com/[yournamespace]/yapi:[tag] .
docker push ccr.ccs.tencentyun.com/[yournamespace]/yapi:[tag]

3. 部署YApi镜像

登陆到腾讯云轻量应用服务器,处于/root目录下,

代码语言:shell复制
docker run -it --rm 
  --link mongo-yapi:mongo 
  --entrypoint npm 
  --workdir /usr/src/yapi/vendors 
  -v $PWD/config.json:/usr/src/yapi/config.json 
  ccr.ccs.tencentyun.com/[yournamespace]/yapi:[tag] 
  run install-server
代码语言:shell复制
docker run -d 
  --name yapi 
  --link mongo-yapi:mongo 
  --workdir /usr/src/yapi/vendors 
  -p 3000:3000 
  -v $PWD/config.json:/usr/src/yapi/config.json 
  ccr.ccs.tencentyun.com/[yournamespace]/yapi:[tag]

在本地浏览器中输入http://轻量应用服务器公网IP地址:3000,即可登录到YApi中。这里需要注意的是,由于本文使用的是3000端口,需要在轻量应用服务器的防火墙上做规则开放。

0 人点赞