一个shell脚本,简化前端的代码部署

文章讲述了如何通过创建shell脚本结合expect自动处理ssh密码输入,实现前端代码的自动化部署,从而避免手动重复操作。通过在package.json中添加定制的npm命令,可以在构建后直接触发代码上传至服务器的过程。
摘要由CSDN通过智能技术生成

问题场景

最近一直在整前端、python代码,最高兴的事情就是代码本地测试没问题了,就可以打包发到线上去了。但是每次前端代码的更新都是那几个重复性的步骤:

npm run build
cd dist
scp -r ./ root@xxxxxx:xxxxxxx/frontend/  # 需要输入密码

手动的敲,然后等待输入密码,重复性的工作实在是让我觉得厌烦。有没有一种方法可以实现自动化的部署和发布呢?我想到了shell脚本。

解决方案

我模仿iterm2的自动登录,使用到了spawnexpectsend等实现了自动的密码输入验证,之后上传需要上传的文件。
在这里插入图片描述
脚本的内容如下:

#!/usr/bin/expect -f

set PASSWORD xxxxx

spawn rsync -e ssh -av --exclude= ./dist/ root@xxxxxx:/x/frontend/xxxxx
expect "*password:"
send "$PASSWORD\r"
expect eof

这里需要注意脚本的解释器为expect,且需要为该脚本(我命名为deploy.sh)添加可执行的权限。

chmod +x ./deply.sh

添加scripts命令

package.json中添加如下命令:
在这里插入图片描述
部署的之后只需要执行:

npm run build_upload

即可在项目打包之后上传到服务器中,整个过程只需要关注控制台输出即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值