接口测试的工具不少,公司引进了接口管理平台Yapi,本身尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容。。。没找到缘由,因此换了docker方式,这里记录下,做为一个新手,有问题欢迎指出html
转自:https://www.cnblogs.com/qgc1995/p/9549896.htmlnode
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------linux
YApi 是由去哪儿移动架构组推出的一款开源项目,是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。git
官网:https://yapi.ymfe.org/,Yapi具备如下功能特性;web
权限管理
扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性mongodb
可视化接口管理
基于 websocket 的多人协做接口编辑功能和类 postman 测试工具,让多人协做成倍提高开发效率docker
Mock Server
易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增长了 Mock 指望功能,根据设置的请求过滤规则,返回指望数据数据库
自动化测试(这个我比较关注)
完善的接口自动化测试,保证数据的正确性,支持对 Response 断言ubuntu
数据导入
接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目api
插件机制
强大的插件机制,知足各种业务需求
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命令
[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 -v /home/YApi/mongodb:/var/lib/mongodb -v /home/YApi/my-yapi:/my-yapi -p 27017:27017 -p 9090:9090 -p 3000:3000 silsuer/yapi bash 3d3a94296f11c725ff091d52acb2e2a4bdb19d55354a0725f1e8b742c0a93ce7 ---(前面红色部分是容器ID,后面的不清楚)
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 ------------(这个百度了不少也不清楚缘由,放它一马)
6,使用本地浏览器打开:http://0.0.0.0:9090,以下所示(我使用的是桌面环境,嘿嘿)
7,配置完成后,点击开始部署,以下
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 访问
9,根据上图提示,记住帐户名和密码,切换到部署目录(/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://127.0.0.1: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 ~]#