Yapi 由 YMFE 開源,旨在爲開發、產品、測試人員提供更優雅的接口管理服務,能夠幫助開發者輕鬆建立、發佈、維護 API。html
項目地址:https://github.com/YMFE/yapi
官網:https://yapi.ymfe.org/,Yapi具備如下功能特性;node
權限管理
扁平化權限設計,即保證了大型企業級項目的管理,又保證了易用性linux
可視化接口管理
基於 websocket 的多人協做接口編輯功能和類 postman 測試工具,讓多人協做成倍提高開發效率git
Mock Server
易用的 Mock Server,MockServer 除支持普通的隨機 mock 外,還增長了 Mock 指望功能,根據設置的請求過濾規則,返回指望數據github
自動化測試(這個我比較關注)
完善的接口自動化測試,保證數據的正確性,支持對 Response 斷言web
數據導入
接口支持導入 swagger, postman, har 數據格式,方便遷移舊項目mongodb
強大的插件機制,知足各種業務需求docker
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/))ubuntu
[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 ~]#
以下圖顯示:
登陸後的管理界面以下圖: