YApi 是去哪儿网开源的一个高效
、易用
、功能强大
的 API 管理平台,它拥有接口管理,接口调试,接口测试,Mock 等等一系列特性,而且支持导入和自动同步swagger
文档,能够直接将现有的全部项目swagger
文档无缝迁移到 YApi 上统一管理,真的是不讲武德!前端
官方已经部署了一套公有服务进行演示,直接访问https://yapi.baidu.com便可快速体验。node
这里介绍两种部署方式,一种是基于docker
一键部署,还有一种是基于命令行
手动部署,固然我强烈建议使用docker
进行部署,不然容易碰到一些环境相关的问题。git
建立一个网桥让 yapi 容器能访问到 mongoDB 容器,命令以下:github
docker network create yapi
基于 docker 部署很是简单,只须要一行命令就搞定,以下:mongodb
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 时要用到。docker
经过上一步部署的 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
应该就能够看到如下界面:npm
而后使用默认管理员帐号密码:admin@admin.com
+ymfe.org
登陆就能使用了。api
这里的镜像是我本身构建上传的,详细能够参考: basic/README.md。
而后还提供了一个支持gitlab登陆
的镜像,若是有须要的能够参考: gitlab/README.md
上面介绍了基于 docker 的方式安装,如今介绍下基于命令行的方式进行安装。浏览器
经过 mongoDB 官网的教程,根据本身的操做系统进行安装便可,地址:https://docs.mongodb.com/v3.6/administration/install-community
因为 mongoDB 默认是无需身份验证的,不太安全,因此要建立一个用户用于访问数据库,命令以下:
use admin db.createUser( { user: "root", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
这样建立好了一个用户,帐号密码为:root
+123456
注意不要安装过高版本的 node,不然可能会致使部分依赖下载失败,我测试 node10 版本是没问题的,直接去官网https://nodejs.org/dist/latest-v10.x
,下载对应的 node 版本安装便可。
安装好以后运行如下命令来验证是否正确安装:
node -v
正常的话会输出v10.x.x
对应版本号,接着就能够开始安装 yapi 了。
选好一个安装目录,在目录下打开终端执行命令:
npm install -g yapi-cli --registry https://registry.npm.taobao.org yapi server
运行成功以后终端会提示访问地址,经过浏览器访问http://127.0.0.1:9090
进行安装,如图:
填写好对应的配置信息,而后点击开始部署,接着等待一段时间就部署完成了,而后按ctrl+c退出。
再根据安装提示在终端中启动 yapi 服务:
cd <部署路径> node vendors/server/app.js
启动成功后就能够访问了。
YApi 使用在咱们团队使用了一段时间,体验仍是很是不错的,可是很惋惜的是这个项目目前基本属于无人维护的状态,最近的一次commit
仍是在2020年10月
,若是碰到坑的话就不要期望官方来修复了,只能靠本身,前几天给官方提了个PR到如今也还没回复,但愿官方能把项目再运营起来吧~
我是 MonkeyWie,欢迎扫码👇👇关注!不按期在公众号中分享JAVA
、Golang
、前端
、docker
、k8s
等干货知识。