前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >expect+ssh 本地打包vue上传到服务器发布到测试环境脚本

expect+ssh 本地打包vue上传到服务器发布到测试环境脚本

作者头像
河湾欢儿
发布2021-03-04 12:17:59
9700
发布2021-03-04 12:17:59
举报
文章被收录于专栏:河湾欢儿的专栏

先说一下大概思路 : 1, 首先进入 admin(例) 2, 在该目录下执行npm run build:test (自定义的打包命令) 3, 连接服务器 4, 找到需要打包的项目目录 5, 拷贝本地 dist 到服务器的项目目录里

1, build.sh (用来执行打包命令的文件)

代码语言:javascript
复制
#!/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

代码语言:javascript
复制
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

  1. 启动命令 ./build.sh admin(需要打包文件的目录名字)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档