博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
阅读量:4501 次
发布时间:2019-06-08

本文共 4756 字,大约阅读时间需要 15 分钟。

接口测试的工具很多,公司引进了接口管理平台Yapi,自己尝试直接搭建,从安装Nodejs到配置MongoDB数据库,再到安装yapi的时候,遇到浏览器打开本地服务器Ip地址后,没有显示部署内容。。。没找到原因,所以换了docker方式,这里记录下,作为一个新手,有问题欢迎指出

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

一,什么是Yapi

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

官网:,Yapi具有以下功能特性;

  • 权限管理

    扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性

  • 可视化接口管理

    基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率

  • Mock Server

    易用的 Mock Server,MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据

  • 自动化测试(这个我比较关注)

    完善的接口自动化测试,保证数据的正确性,支持对 Response 断言

  • 数据导入

    接口支持导入 swagger, postman, har 数据格式,方便迁移旧项目

  • 插件机制

    强大的插件机制,满足各类业务需求

二,使用Docker创建Yapi容器

1,先安装docker,参考我,可用docker version查看docker版本

[root@localhost ~]# docker versionClient: 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/amd64Server: 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/yapiUsing default tag: latestlatest: Pulling from silsuer/yapi1be7f2b886e8: 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 bash3d3a94296f11c725ff091d52acb2e2a4bdb19d55354a0725f1e8b742c0a93ce7     ---(前面红色部分是容器ID,后面的不清楚)

4,(可选)查看当前正运行的容器,docker ps

[root@localhost ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                      NAMES3d3a94296f11        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 yapiroot@3d3a94296f11:/#                  -------(这就是伪终端,进入容器后键入操作才显示)

三,容器中部署安装Yapi

1,启动MogoDB,Yapi部署需要数据库依赖

root@3d3a94296f11:/# service mongodb start * Starting database mongodb                                           [ OK ]

2,因为Yapi需要git支持,先升级git源(我们学乖点,因为如果不先安装git直接部署Yapi会出现错误)

root@3d3a94296f11:/# apt-get updateIgn:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 InReleaseGet: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 gitReading package lists... DoneBuilding dependency tree       Reading state information... DoneThe following packages were automatically installed and are no longer required:...

4,(可选)查看升级后的get版本

root@3d3a94296f11:/# git --versiongit 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.jslog: the server is start at 127.0.0.1:3000log: 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.jslog: the server is start at 127.0.0.1:3000log: mongodb load success...^Croot@3d3a94296f11:/my-yapi# nohup node /my-yapi/vendors/server/app.js 2>&1 &[1] 91root@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/qgc1995/p/9549896.html

你可能感兴趣的文章
敏捷练习(1)评估我的生活方向盘
查看>>
web版微信自动发消息(实现微信个人号机器人)
查看>>
【C/C++】产生随机数
查看>>
dp_c_区间dp_g
查看>>
C#Dictionary键值对取值用法
查看>>
关于动态绑定时遇到的问题:
查看>>
java 并发——线程
查看>>
C#排序算法小结
查看>>
什么是Servlet以及如何开发一个Servlet
查看>>
非程序员的GNU Emacs使用心得...... Shell Mode 第1集 序言
查看>>
GRU-CTC中文语音识别
查看>>
18.C#扩展方法(十章10.1-10.2)
查看>>
[笔记]C#基础入门(三)——C#的常量
查看>>
随机生成32位字符串算法
查看>>
几种常用的排序方法3--选择排序
查看>>
C#中删除字符串最后一个字符的几种方法
查看>>
远程管理控制ssh
查看>>
Django框架之ORM(数据库)操作
查看>>
解决:Cannot find ContentTypeReader HeightmapCollision.HeightMapInfoReader
查看>>
内存映射(Linux设备驱动程序)
查看>>