微前端作为解决巨石应用和降低技术框架变动风险的神器,我觉得是当下前端发展的一大方向,可以在未来5-10年内保持生命力。
作者从2019年12月第一次使用qiankun框架落地微服务以来已经过去了一年多的时间,期间也产出了两篇入门文章:qiankun微前端实战看这篇就够了 - Vue项目篇 和 vue3.0&qiankun2.0极速尝鲜,微前端进阶实战!,有兴趣或者刚接触微前端的同学可以去看下。
经过拆分之后,一个巨石应用变成了几个甚至几十个子应用,那么这么多应该该如何友好又舒服的部署呢,下面就来详细的说说几种不同的使用姿势。
[x] 脚本部署
[x] docker部署
[ ] CICD
脚本部署
作者在实际项目中编写了两种部署脚本,一种是前端开发人员使用的,一种是无需了解代码的实施人员使用的,我们之间一步到位讲无需代码知识的部署脚本设计。
先说下大致思路:
- 使用node+inquirer编写交互式命令行脚本,以伪可视化的形式创建目标服务器列表。
- 使用node+inquirer+ssh2-sftp-client,以伪可视化的形式将代码发布至服务器
- 将脚本放在测试服务器(win),实施人员可以登录测试服务器将测试通过的前端静态文件上传至任意linux服务器。
- 将脚本启动命令文件改成.bat文件,可以实现在win系统上双击运行。
效果如下:
添加目标服务器信息
一键部署
具体原理就不细说了,node读写,inquirer交互插件的使用inquirer+ssh2-sftp-client将文件推送到服务器指定地址,都是很成熟的插件,脚本部署这块就直接上代码:Github,此外还可以继续优化,将拉取代码、打包、部署做到一起去,更适合非程序人员。
这种方案优点是对外简单易操作,缺点是需要源码或者至少打包好后的代码,以及需要记录服务器的登录名及密码。
docker 部署
作者只花了半天时间从认识docker到产出可用工程,如有不对之处,欢迎斧正。
docker-compose
既然是多个微应用,那直接来docker-compose吧。