先来说说起因,在上一个星期的分享会上,谈到前后端联调上,有同事提到了<代码> rap2> 代码,特意去了解了一下,觉得使用这个东西来进行前后端的接口联调来真是太方便的了,对比我们之前公司内部开发的<代码>云> 代码的API来说,我更偏向使用<代码> rap2> 代码。
说唱通过GUI工具帮助网络工程师更高效的管理接口文档,同时通过分析接口结构自动生成模拟数据,校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的API数据,说唱可以做的更多,而我们可以避免更多重复劳动。
上面是摘自https://github.com/thx/RAP淘宝阿里妈妈对<代码> rap1> 代码的描述,看了图一下子就能明白,后端制定API <代码> 代码>返回数据格式,前端通过接口地址在线模拟,避免了前后端因为进度不一致而出现单方面等待的现象。
可以直接使用淘宝提供的在线服务来生成在线的接口地址,通过申请一个账号后,即可在里面进行接口的编写,测试等等…这里不再赘述。
因为rap2在github上面已经开源,而且也提供了部署方案,这里讲一下自己是如何使用<代码>码头工人> 代码来进行部署的。
-
<李>安装码头工人李>
<李>安装docker-compose李>
涉及到的两个开源仓库:
rap2-delos:后端数据API服务器,基于高雅+ MySQL戳这里
rap2-dolores:前端静态资源,基于反应戳这里
或者使用本人的github仓库Rynxiao/rap2-docker,已经包含了这两个仓库,并加入了配置。
在后端部署方面,在<代码> github> 代码上已经给出了使用<代码>码头工人> 代码的部署方面,因此,只要跟随就好。
比;mkdir rap2 比;cd rap2 比;git克隆https://github.com/thx/rap2-delos.git 比;cd rap2-delos 比;docker-compose起来- d
运行成功后,需要手动初始化数据库,我们进入对象的容器来操作:
比;码头工人exec - rap2-delos sh 比;节点/init脚本 比;退出
重新启动服务:
比;docker-compose下来 比;docker-compose起来- d
可以看到暴露出来的端口是<代码> 38080> 代码,我们使用旋度<代码> 代码>命令来测试一下是否成功,如果放回<代码>你好说唱!> 代码,就说明后端已经部署好了。
比;旋度localhost: 38080
前端由于没有提供对应的码头工人<代码> 代码>部署方法,因此只有我自己来尝试部署了。前端使用的是节点进行webpack打包,因此需要一个节点的环境,所以我在制作容器的时候需要拉去一个节点镜像。
因为部署前端之前没有看后端的部署,所以我前端拉取了一个比较新的版本[10.1.0],如果想和后端公用一个节点镜像,可以使用这个<代码>节点:8.11.1-alpine 代码>镜像。
通过<代码> npm运行构建代码>之后,生成的<代码>构建代码> 文件夹中的只是静态资源文件,因此我还需要起一个服务器,这里我通过全局安装<代码> http服务器> 代码来启动一个服务。
下面是具体的过程:
<强> 1。git仓库拉取强>
比;cd rap2 比;git克隆https://github.com/thx/rap2-dolores.git 比;cd rap2-dolores
<强> 2。创建一个Dockerfile来构建一个新节点的版本镜像强>
比;触摸Dockerfile 比;vim Dockerfile
Dockerfile中的内容为: