使用bat脚本更新Vue2前端代码到服务器
创始人
2025-02-11 06:33:13
0

0. 背景

正常的 DevOps 中,我们都有成熟的自动构建工具,比如 JenkinsGitLab CI/CDGitHub Actions …… 但一些简陋的项目没有这个待遇,那我们就需要手写 bat 脚本了,本文介绍一种 Vue2 下的简单情况,即先运行 npm run build 打包好 dist 目录,然后执行脚本,上传至开发服务器,并使用 nginx 重新加载前端。

本文假定:

nginx所在服务器为: 192.168.8.88 前端文件代理目录为: /static/html/ 

1. 本机生成 ssh key

由于使用ssh key的方式不用每次执行脚本都输入服务器密码,故先进行此操作。

首先我们生成公钥秘钥:

ssh-keygen -t ed25519 -C "email@example.com" 

然后我们移动到 ~/.ssh 目录下执行:

ssh-copy-id -i id_ed25519.pub root@192.168.8.88 

在使用 ssh-copy-id 命令时,我们本地公钥会被添加到远程服务器的 ~/.ssh/authorized_keys 文件中。然后,当使用 SSH 连接到该服务器时,服务器会在客户端接受连接请求后,发送它自己的公钥。SSH会将服务器的公钥存在 ~/.ssh/known_hosts

2. 编写 bat 脚本

首先,我们在 Vue2 项目下,与dist输出目录同级创建批处理文件 deploy_dist_to_server.bat ,并写入:

ssh root@192.168.8.88 "rm -rf /static/html/*" scp -r dist/* root@192.168.8.88:/static/html ssh root@192.168.8.88 "nginx -s reload" 

 

保存好后,我们使用快捷键 Ctrl+~ 打开命令行,执行脚本 deploy_dist_to_server.bat ,稍等片刻,开发服务器的nginx就更新完毕了。

3. 注意点

3.1. dist 目录下不应存在非前端更新文件

dist 输出目录下不应存在其它无用的文件,比如 zip 包,因为脚本会默认复制该目录下所有内容,而且默认情况下webpack 不会删除 dist 下所有文件。

3.2. nginx 更新后,谷歌浏览器会存在缓存问题

nginx执行完 nginx -s reload 如果没有在浏览器中观察到改变,大概率是浏览器本身的缓存导致。请强制刷新浏览器或者打开无痕模式即可。

结语

如果您所在的团队对开发服务器有严格的管理(如Kerberos认证),请您联系运维的同事后进行脚本的调整。

不推荐大家用此方式更新现网环境,上线前应该有测试或预上线环境。

原文:https://juejin.cn/post/7383894631312867378

相关内容

热门资讯

七分钟了解!wepoke挂真的... 七分钟了解!wepoke挂真的假的,广东雀神智能插件安装如何使用,AA德州教程(详细教程)-哔哩哔哩...
两分钟了解!微扑克ai分析器,... 两分钟了解!微扑克ai分析器,广东雀神辅助器免费版,德州论坛(有挂秘籍)-哔哩哔哩1、广东雀神辅助器...
第八分钟了解!红龙扑克透牌,情... 第八分钟了解!红龙扑克透牌,情怀麻将专用神器免费,高科技教程(有挂工具)-哔哩哔哩1、任何情怀麻将专...
三分钟了解!wpk ai会不会... 三分钟了解!wpk ai会不会被封,博乐温州麻将有挂吗,2025新版教程(真实有挂)-哔哩哔哩在进入...
3分钟了解!微扑克数据辅助软件... 3分钟了解!微扑克数据辅助软件,广东雀神辅助器怎么买,安装教程(有挂教学)-哔哩哔哩;1、广东雀神辅...
黑科技功能(德州wpk)外挂透... 黑科技功能(德州wpk)外挂透明挂黑科技辅助神器(透视)教你教程(2025已更新)(哔哩哔哩)1、德...
六分钟了解!wepokeai代... 六分钟了解!wepokeai代打辅助,掌酷十三张辅助合作,技巧教程(有挂教程)-哔哩哔哩;1、用户打...
黑科技软件(微扑克数据)外挂透... 黑科技软件(微扑克数据)外挂透明挂黑科技辅助代打(透视)透明挂教程(2024已更新)(哔哩哔哩);小...
第3分钟了解!aapokera... 第3分钟了解!aapokerai辅助,中至鹰潭卧龙有挂吗,我来教教你(讲解有挂)-哔哩哔哩1、许多玩...
黑科技功能(WepOke)外挂... 黑科技功能(WepOke)外挂透明挂黑科技辅助软件(透视)安装教程(2023已更新)(哔哩哔哩)是一...