前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YApi docker部署——基于腾讯云轻量应用服务器

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

原创
作者头像
buzzfrog
修改2023-04-10 15:54:18
1.6K0
修改2023-04-10 15:54:18
举报
文章被收录于专栏:云上修行

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端口,需要在轻量应用服务器的防火墙上做规则开放。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • YApi介绍
  • 命令行方式部署
    • 1. 部署MongoDB镜像
      • 2. 构建YApi镜像
        • 3. 部署YApi镜像
        相关产品与服务
        轻量应用服务器
        轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档