先说一下大概思路 :
1, 首先进入 admin(例)
2, 在该目录下执行npm run build:test (自定义的打包命令)
3, 连接服务器
4, 找到需要打包的项目目录
5, 拷贝本地 dist 到服务器的项目目录里
1, build.sh (用来执行打包命令的文件)
#!/bin/sh
cd "/Users/yinliang/Documents/workspace/$1/" ($1 是 启动时项目文件的名字,可以写成固定的,那样的话点击sh文件直接执行更舒服)
npm run build:test
cd "/Users/yinliang/Desktop" (因为我两个文件都在桌面 我就直接到桌面就好了)
expect -f scp.exp ${1}
2.#!/usr/bin/expect
set timeout 20
set local_file [lindex $argv 0]
set passwd 111111(服务器的密码)
set passwderror 0
spawn ls
spawn scp -r /Users/yinliang/Documents/workspace/${local_file}/test (用户名)@(ip地址):(存放在服务器文件的地址)${local_file}
expect {
"*assword:*" {
if { $passwderror == 1 } {
puts "passwd is error"
exit 2
}
set timeout 1000
set passwderror 1
send "$passwd\r"
exp_continue
}
"*es/no)?*" {
send "yes\r"
exp_continue
}
timeout {
puts "connect is timeout"
exit 3
}
}
⚠️ mac 安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
mac安装expect(需要先安装brew,没有安装的话看上边)
brew install expect
- 启动命令 ./build.sh admin(需要打包文件的目录名字)