YApi 簡介
YApi 是去哪兒網開源的一個高效、易用、功能強大的 API 管理平臺,它擁有介面管理,介面除錯,介面測試,Mock 等等一系列特性,並且支援匯入和自動同步`swagger`文件,可以直接將現有的所有專案`swagger`文件無縫遷移到 YApi 上統一管理,真的是不講武德!
官方已經部署了一套公有服務進行演示,直接訪問https://yapi.baidu.com即可快速體驗。
部署這裡介紹兩種部署方式,一種是基於docker一鍵部署,還有一種是基於命令列手動部署,當然我強烈建議使用docker進行部署,否則容易碰到一些環境相關的問題。
基於 docker 部署1.建立網橋建立一個網橋讓 yapi 容器能訪問到 mongoDB 容器,命令如下:
docker network create yapi
2.部署 mongoDB
基於 docker 部署非常簡單,只需要一行命令就搞定,如下:
docker run -d --name=mongo \ --network=yapi \ -e MONGO_INITDB_ROOT_USERNAME=root \ -e MONGO_INITDB_ROOT_PASSWORD=123456 \ mongo:3.6.21-xenial
這裡關鍵的點就是透過MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD環境變數來設定資料庫訪問的賬號密碼,在下面部署 yapi 時要用到。
3.部署 yapi透過上一步部署的 mongoDB 賬號密碼進行部署,如下:
docker run -d --name yapi \ --network=yapi \ -e DB_SERVERNAME=mongo \ -e DB_DATABASE=admin \ -e DB_PORT=27017 \ -e DB_USER=root \ -e DB_PASS=123456 \ -p 3000:3000 \ liwei2633/yapi
部署成功的話透過瀏覽器訪問http://127.0.0.1:3000應該就可以看到以下介面:
然後使用預設管理員賬號密碼:[email protected]+ymfe.org登入就能使用了。
這裡的映象是我自己構建上傳的映象,詳細可以參考:basic/README.md。 然後還提供了一個支援gitlab登入的映象,如果有需要的可以參考:gitlab/README.md
基於命令列部署上面介紹了基於 docker 的方式安裝,現在介紹下基於命令列的方式進行安裝。
1.安裝 mongoDB透過 mongoDB 官網的教程,根據自己的作業系統進行安裝即可,地址:https://docs.mongodb.com/v3.6/administration/install-community
由於 mongoDB 預設是無需身份驗證的,不太安全,所以要建立一個使用者用於訪問資料庫,命令如下:
use admindb.createUser( { user: "root", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
這樣建立好了一個使用者,賬號密碼為:root+123456
2.安裝 node.js 環境注意不要安裝太高版本的 node,否則可能會導致部分依賴下載失敗,我測試 node10 版本是沒問題的,直接去官網https://nodejs.org/dist/latest-v10.x,下載對應的 node 版本安裝即可。
安裝好之後執行以下命令來驗證是否正確安裝:
node -v
正常的話會輸出v10.x.x對應版本號,接著就可以開始安裝 yapi 了。
3.安裝 yapi選好一個安裝目錄,在目錄下開啟終端執行命令:
npm install -g yapi-cli --registry https://registry.npm.taobao.orgyapi server
執行成功之後終端會提示訪問地址,透過瀏覽器訪問http://127.0.0.1:9090進行安裝,如圖:
再根據安裝提示在終端中啟動 yapi 服務:
cd <部署路徑>node vendors/server/app.js
啟動成功後就可以訪問了。
後記YApi 使用在我們團隊使用了一段時間,體驗還是非常不錯的,但是很可惜的是這個專案目前基本屬於無人維護的狀態,最近的一次commit還是在2020年10月,如果碰到坑的話就不要指望官方來修復了,只能靠自己,前幾天給官方提了個PR到現在也還沒回復,希望官方能把專案再運營起來吧~