前言
前端每次打包需要npm run build ,build后会生成一个dist文件夹,是打包后的内容,然后把dist文件夹上传到服务器,最后覆盖服务器上nginx下对应目录,这个过程起码要5分钟以上.利人利己,想帮他们写一个.bat,双击此.bat文件,自动化做发布的过程
脚本
1.文件名为 aftersales-dev-1.bat
@echo off
echo 开始打包...
::npm 打包
npm run build:trial
:: 用haozip 压缩dist文件夹
&& "C:\Program Files\2345Soft\HaoZip\HaoZipC.exe" a -tzip 3.zip dist
:: scp 上传到服务器
&& "C:\Program Files\OpenSSH\scp.exe" 3.zip root@10.122.37.x:/opt/
::ssh 远程执行服务器上的一个shell脚本
&& "C:\Program Files\OpenSSH\ssh.exe" root@10.122.37.x "sh /opt/aftersales-dev.sh"
echo 打包完成!
::pause
2.服务器上的shell,文件名为aftersales-dev.sh
#!/bin/sh
rm -rf /opt/amsdist/aftersales/*
unzip -d /opt/temp/ /opt/3.zip
mv /opt/temp/dist/* /opt/amsdist/aftersales
环境准备
-
上面的bat 执行后每次都需要输入root用户的密码,配置一下ssh免密登录就可以不用输入密码了
-
ssh配置参考,win7也是一样的配置方法: https://blog.csdn.net/zzti_erlie/article/details/100526566.
-
OpenSSH 下载地址 : [https://github.com/PowerShell/Win32-OpenSSH/releases]
(https://github.com/PowerShell/Win32-OpenSSH/releases). -
bat中使用haozip 来压缩的,所以需要安装一下haozip
好压下载(.bat中会依赖此打包):https://haozip.2345.cc/. -
haozip 的命令文档,官方的没有找到,看这个应该就够了
http://www.suoniao.com/article/5f25a09497e01d0d6c54ae50.
使用
双击.bat就可以完成打包
或者在编辑器中的终端执行
![在这里插入图片描述](https://img-blog.csdnimg.cn/ab56eaf9dc1b47e9bc178ac22bedc8e6.png