以前的前端改改上传就能用,现在的前端十个有九个要编译才能用,😂。每次编译都得重新上传,总结起来就俩字:麻烦,于是乎,研究了一下自动部署。
自动部署
服务端编译:在服务端编译,编译完了再自动部署到指定目录
本地编译:在本地编译,编译完了自动上传到服务端的指定目录
1.服务端编译
本着安全、方便的角度,一开始想的是在服务端实现一个能自动拉取Git仓库并编译部署的任务队列,然后通过Git的Webhook去触发更新自动部署。
实现后发现存在一个很致命的缺陷:项目较为复杂并且服务器配置一般般时,Vite编译的过程会占用大量内存导致编译无法完成(进程会因为内存占用超出限制被自动Kill)
服务器配置够用的话,可以试试:https://github.com/friend-nicen/deploy
2.本地编译
这种实现起来就比较简单,编译完成后自动运行Node脚本,同步项目文件到服务器,使用方法如下:
在项目目录内创建vite目录
复制下面的代码到vite目录下的deploy.mjs
修改package.json,新增如下命令:
本着安全的前提,连接SSH所用的账号最好限制其文件目录权限(仅能访问部署的目录和文件)
脚本代码如下,按照注释进行配置修改:
运行 npm run deploy ,来完成自动编译上传部署