栏目头部广告

开源Yapi接口管理平台容器化部署

一、Yapi介绍

YApi 是由去哪儿移动架构组推出的一款开源项目,是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。

Yapi具有以下功能特性:
(1)权限管理:扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性.
(2)可视化接口管理:基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率。
(3)Mock Server:易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据。
(4)自动化测试:完善的接口自动化测试,保证数据的正确性,支持对 Response 断言。
(5)数据导入:接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目。
(6)插件机制:强大的插件机制,满足各类业务需求。

二、Yapi容器化部署

2.1 容器部署Yapi

(1)部署MongoDB容器

[root@10-27-0-224 ~]# docker network create yapi_net
[root@10-27-0-224 ~]# docker run --network yapi_net  -p 27017:27017 -d --name yapi_mongodb --restart always -v /data/yapi_mongo/config:/data/configdb -v /data/yapi_mongo/mongodb:/data/db docker.io/mongo

(2)使用nodejs镜像,运行容器

[root@10-27-0-224 ~]# docker run --network yapi_net   --name yapi --restart always  -it -p 9090:9090 -p 3000:3000   docker.io/openshift/jenkins-agent-nodejs-8-centos7   bash

(3)环境版本查看

bash-4.2$ node --version
v8.11.4

bash-4.2$ git --version 
git version 1.8.3.1

(4)安装yapi所需数据包

bash-4.2$ npm install -g yapi-cli --registry https://registry.npm.taobao.org
npm WARN deprecated axios@0.16.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
npm WARN deprecated bson@1.0.9: Fixed a critical issue with BSON serialization documented in CVE-2019-2391, see https://bit.ly/2KcpXdo for more details
/home/jenkins/.npm-global/bin/yapi -> /home/jenkins/.npm-global/lib/node_modules/yapi-cli/bin/yapi-cli
/home/jenkins/.npm-global/bin/yapi-cli -> /home/jenkins/.npm-global/lib/node_modules/yapi-cli/bin/yapi-cli
+ yapi-cli@1.5.0
added 257 packages in 44.258s

2.2 初始化YApi平台

(1)初始化配置

bash-4.2$ yapi server  
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

容器化部署Yapi接口管理平台(图1)

部署日志
当前安装版本: 1.9.2
连接数据库成功!
开始下载平台文件压缩包...
http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.9.2.tgz
部署文件完成,正在安装依赖库...
……
> yapi-vendor@1.9.2 install-server /var/lib/origin/my-yapi/vendors > node server/install.js
log: mongodb load success...
初始化管理员账号成功,账号名:"1938418737@qq.com",密码:"ymfe.org"
部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问

【注】如上图点击开始部署,如果成功,会显示帐号和密码。

(2)继续执行以下操作

bash-4.2$ npm install -g pm2  --registry https://registry.npm.taobao.org
bash-4.2$ pm2 start /var/lib/origin/my-yapi/vendors/server/app.js
                        -------------

__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
 _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
  _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
   _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
     _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
      _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
       _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
        _\///______________\///______________\///__\///////////////__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/home/jenkins/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /var/lib/origin/my-yapi/vendors/server/app.js in fork_mode (1 instance)
[PM2] Done.
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ?    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ app                │ fork     │ 0    │ online    │ 0%       │ 13.2mb   │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

2.3 登录与管理YApi平台

http://10.27.0.224:3000/

容器化部署Yapi接口管理平台(图2)

容器化部署Yapi接口管理平台(图3)

容器化部署Yapi接口管理平台(图4)

作者:UStarGao
链接:https://www.starcto.com/open-sourcing/217.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`