zoukankan      html  css  js  c++  java
  • 部署api管理平台YApi

    blog:https://www.cnblogs.com/Rohn/

    概述

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

    img

    特性

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

    环境准备

    环境要求:

    • nodejs(7.6+)
    • mongodb(2.6+)
    • git

    安装git和nodejs

    yum -y install epel-release
    yum -y install nodejs git openssl-devel 
    npm config set registry https://registry.npm.taobao.org
    npm install -g n
    n lts
    

    重新登录shell后,查看node版本:

    [root@yapi ~]# node -v
    v12.18.1
    

    MongoDB创建DB和相关用户

    使用可视化工具创建db,db名为yapi,并创建该db的管理员用户。

    image-20200629162914419

    部署

    可视化方式安装

    使用我们提供的yapi-cli 工具,部署 YApi 平台是非常容易的。执行yapi server启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行node /{网站路径/server/app.js}启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org登录系统(默认密码可在个人中心修改)。

    npm install -g yapi-cli --registry https://registry.npm.taobao.org
    yapi server 
    

    登录http://主机ip:9090,填写相关配置

    image-20200629162301657

    服务管理

    利用pm2方便服务管理维护。

    # 安装pm2
    npm install pm2 -g  
    cd  /usr/local/yapi
    # pm2管理yapi服务
    pm2 start "vendors/server/app.js" --name yapi 
    # 查看服务信息
    pm2 info yapi 
    # 停止服务
    pm2 stop yapi 
    # 重启服务
    pm2 restart yapi 
    

    登录

    浏览器打开http://主机ip:3000,输入管理员账号和密码,默认登录密码为ymfe.org

    image-20200629163107168

    升级

    升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。

    cd /usr/local/yapi
    # 查看版本号列表
    yapi ls 
    # 更新到最新版本
    yapi update 
    # 更新到指定版本
    yapi update -v {Version} 
    

    权限控制

    接口管理的逻辑较为复杂,操作频率高,层层审批将严重拖慢生产效率,因此传统的金字塔管理模式并不适用。

    YApi 将扁平化管理模式的思想引入到产品的权限管理中,超级管理员 拥有最高的权限,并将权限分配给若干 组长超级管理员 只需管理组长 即可,实际上管理YAPI各大分组与项目的是“组长”。组长对分组或项目负责,一般由BU负责人/项目负责人担任。

    创建分组

    只有 超级管理员 有权限创建分组

    img

    权限列表

    新用户未加入项目或分组时,我们称为 游客

    项目权限

    操作 游客 项目开发者 项目组长 超级管理员
    浏览公开项目与接口
    浏览私有项目与接口
    编辑项目信息
    新建接口
    编辑接口
    编辑项目头像
    删除项目

    分组权限

    操作 游客 分组开发者 分组组长 超级管理员
    浏览分组
    在分组中新建项目
    编辑分组信息
    管理分组成员
    删除分组

    插件

    钉钉推送

    参考:yapi-plugin-dding

    安装

    cd /usr/local/yapi/
    npm install ykit -g
    yapi plugin --name yapi-plugin-dingding
    

    修改配置文件

    配置参考,servername需要配置主机IP。

    {
       "port": "3000",
       "adminAccount": "xxx@xxx.com",
       "db": {
          "servername": "IP",
          "DATABASE": "yapi",
          "port": "27017",
          "user": "yapi",
          "pass": ""
       },
       "mail": {
          "enable": false,
          "host": "smtp.163.com",
          "port": 465,
          "from": "***@163.com",
          "auth": {
             "user": "***@163.com",
             "pass": "*****"
          }
       },
       "plugins": [
          {
             "name": "dingding",
             "options": {
                 "host": "http://IP:3000"
             }
          }
       ]
    }
    
    

    重启yapi

    pm2 restart yapi
    

    配置钉钉机器人

    在群组增加群助手,安全设置,配置宿主机所在的出口ip:

    image-20200702094244673

    创建完成后,复制webhook,再到yapi项目的设置中配置钉钉机器人

    image-20200702092556186

  • 相关阅读:
    OSPF LSA过滤简述 转自 huawei企业论坛
    distribute-list分发列表 转自 红茶三杯sina blog
    rip 协议号
    Ping命令的工作过程及单向Ping通的原因
    Cisco路由器故障诊断技术专题
    self-introduction for bleum (not in use)
    智能手环是什么情况
    页面置换算法 FIFO NUR LRU LFU
    慢慢来----由易语言想到的一点点
    ssh免密登录
  • 原文地址:https://www.cnblogs.com/Rohn/p/13223083.html
Copyright © 2011-2022 走看看