Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。
项目地址:https://github.com/YMFE/yapi
官网:https://yapi.ymfe.org/,Yapi具有以下功能特性;
权限管理
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
可视化接口管理
基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率
Mock Server
易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
自动化测试(这个我比较关注)
完善的接口自动化测试,保证数据的正确性,支持对 Response 断言
数据导入
接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目
强大的插件机制,满足各类业务需求
1,先安装docker,参考我另一篇文章,可用docker version查看docker版本
[root@localhost ~]# docker version Client: Version: 17.12.1-ce API version: 1.35 Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:15:20 2018 OS/Arch: linux/amd64 Server: Engine: Version: 17.12.1-ce API version: 1.35 (minimum version 1.12) Go version: go1.9.4 Git commit: 7390fc6 Built: Tue Feb 27 22:17:54 2018 OS/Arch: linux/amd64 Experimental: false
2,从仓库中拉取Yapi镜像,docker pull命令(拉取镜像(镜像地址https://hub.docker.com/r/silsuer/yapi/))
[root@localhost ~]# docker pull silsuer/yapi Using default tag: latest latest: Pulling from silsuer/yapi 1be7f2b886e8: Pull complete 6fbc4a21b806: Pull complete c71a6f8e1378: Pull complete ...
3,使用镜像实例并运行容器,--name是指定容器名,-dit是指后台运行容器,并返回容器id(或者-it,指在当前窗口以伪终端进入容器,这里如果只用-d,容器启动后就会马上停止),-p是指端口映射(主机端口:容器端口,27017是数据库端口,9090是yapi初始化配置端口,3000是yapi实际运行端口)
[root@localhost ~]# docker run --name yapi -dit -p 27017:27017 -p 9090:9090 -p 3000:3000 silsuer/yapi bash 3d3a94296f11c725ff091d52acb2e2a4bdb19d55354a0725f1e8b742c0a93ce7
4,查看当前正运行的容器,docker ps
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d3a94296f11 silsuer/yapi "bash" 25 minutes ago Up About a minute 0.0.0.0:3000->3000/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:27017->27017/tcp yapi
5,进入容器,有两种方式:docker attach yapi (exit退出容器后,容器停止运行)或者docker exec -it yapi bash(exit退出容器后,容器依旧运行)
[root@localhost ~]# docker attach yapi root@3d3a94296f11:/# -------(这就是伪终端,进入容器后键入操作才显示)
1,启动MogoDB,Yapi部署需要数据库依赖
root@3d3a94296f11:/# service mongodb start * Starting database mongodb [ OK ]
2,因为Yapi需要git支持,先升级git源(因为如果不先安装git直接部署Yapi会出现错误)
root@3d3a94296f11:/# apt-get update Ign:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InRelease Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB] Get:3 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release [3457 B] ...
3,安装git,中途需要输入y同意安装
root@3d3a94296f11:/# apt-get install git Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: ...
4,查看升级后的get版本
root@3d3a94296f11:/# git --version git version 2.7.4
5,启动Yapi服务进行部署配置,有如下bash提示
root@3d3a94296f11:/# yapi server 在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip /bin/sh: 1: xdg-open: not found
启动后,会在bash中提示你访问localhost:9090或者http://0.0.0.0:9090完成Yapi的初始化配置(记得在阿里云控制台安全组打开9090端口或者其他云平台安全组中放开9090端口)
我这里是因为配置到了阿里云服务器上,所以访问http://0.0.0.0:9090是不可能成功的,我这里需要访问http://IP:9090才能成功显示
6,使用本地浏览器打开:http://IP:9090或者http://0.0.0.0:9090,如
7,配置完成后,点击开始部署,如下
打开后的界面就是这样,填写好对应的信息,点击开始部署。发生报错,就根据错误信息查找原因。我在安装的时候有一个报错
Error: (node:952) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
这个错误是因为mongodb版本的问题,其中的服务在mongo3的时候就已经弃用了,后来和大家交流了下,不用管,可以正常使用,也确实是的。这个问题官方已经在最新版里面修复了,所以以后安装也不会出现这个报错了(我安装的时候是1.4.1)。
8,部署成功后,查看命令窗口,显示如下
... added 345 packages in 53.839s 依赖库安装完成,正在初始化数据库mongodb... > yapi@1.3.22 install-server /my-yapi/vendors > node server/install.js log: mongodb load success... 初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org" 部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000或者http://ip:3000(放开3000端口) 访问
9,根据上图提示,记住账户名和密码,ctrl+c停止安装程序并切换到部署目录(/my-yapi/),输入: "node vendors/server/app.js" 指令。
root@3d3a94296f11:/# cd /my-yapi/ root@3d3a94296f11:/my-yapi# node vendors/server/app.js log: the server is start at 127.0.0.1:3000 log: mongodb load success...
10,浏览器打开上面地址:http://ip:3000或者http://127.0.0.1:3000,(安全组放开3000端口)使用上面记住的账号密码就可以登录了,如下图
--------------注意1:如果还要使用容器中的命令窗口,先按ctrl+c可以结束yapi进程,再执行nohup node /my-yapi/vendors/server/app.js 2>&1 & 在后台运行yapi,如下
root@3d3a94296f11:/my-yapi# node vendors/server/app.js log: the server is start at 127.0.0.1:3000 log: mongodb load success... ^C root@3d3a94296f11:/my-yapi# nohup node /my-yapi/vendors/server/app.js 2>&1 & [1] 91 root@3d3a94296f11:/my-yapi# nohup: ignoring input and appending output to ‘nohup.out‘ root@3d3a94296f11:/my-yapi#
--------------注意2:如果想yapi后台运行并退出容器,开始是以docker exec -ti yapi bash方式进入的容器,输入exit就可以了,以docker attach方式进入的容器,按ctrl+p+q(你没看错,就是三个键同时按),出现下图所示就可以了
root@3d3a94296f11:/# read escape sequence [root@localhost ~]#
如下图显示:
登录后的管理界面如下图:
原文:https://www.cnblogs.com/zmdComeOn/p/11826248.html