前端用shell脚本在服务器部署
背景
- 公司一般都有devOps,推荐使用这个操作
- 公司服务基于k8s部署,k8s是有流水线工程的,如果有条件的话,还是建议使用流水线部署, 方便而且容易追溯。
- 我写这个是因为公司流水线部署卡顿,容易受到运维同学影响。而且错误频出。还是不完善版本,极易耗费时间。因此,萌生了自己写一个部署脚本的念头。
- 本流程基于linux系统
流程
- 先本地打包,生成zip包
- 把zip包上传到服务器上
- 在服务器运行部署脚本
- 部署成功
脚本
- 本地打包
npm run build
zip -rv dist.zip dist
- 上传到服务器
lftp -u ${user},${password} sftp://${ip}:${port}<<EOF
# 登陆服务器后进行的操作
# 进入对应文件夹
# 上传zip包
EOF
- 服务器运行部署脚步
sshpass -p password root@ip <<remotessh
# 执行在服务器的操作
remotessh
- 如此大功告成
小记
- k8s容器名可以写一个前缀,然后用时间催做后缀
date=data-center/data-center-web:dev-`date +%s`
- 安装lftp
brew install lftp
- 安装sshpass
wget https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
brew install sshpass.rb