#!/bin/bash # 部署到测试环境,前提是需要先连接公司的VPN function deploy(){ # 检查7z命令是否可用 if ! command -v 7z >/dev/null 2>&1; then echo "请先运行 npm install -g 7zip 安装7zip命令行工具!" exit 1 fi local username=$username_param local ip_address=$ip_address_param local folder_name=$folder_name_param local server_path=$server_path_param local zip_filename=$zip_filename_param # 压缩打包后的文件 7z a $zip_filename ./dist/* if [ $? -eq 0 ]; then echo "压缩打包成功" else echo "压缩打包失败" return 1 fi echo -e '友情提醒🟠: 请确认连接了上海徽黄公司的VPN📶(否则无法输入密码哦)' # 迁移压缩文件到服务器对应目录下 (set -x;scp ./$zip_filename $username@$ip_address:$server_path) if [ $? -eq 0 ]; then echo "文件迁移成功" else echo "文件迁移失败" return 1 fi # 本机删除上传后的压缩文件 rm $zip_filename # 在服务器上解压缩文件 (set -x;ssh $username@$ip_address "cd $server_path && unzip -o $zip_filename -d $folder_name && chmod -R 775 $folder_name && rm $zip_filename") if [ $? -eq 0 ]; then echo "解压缩成功" else echo "解压缩失败" return 1 fi echo "恭喜:"$folder_name_param"发布圆满成功!🎉🚀" return 0 } # 调用build函数,并传递配置项参数 username_param="clear" ip_address_param="192.168.30.153" # 测试环境 folder_name_param="selfMarketing" server_path_param="/home/clear/frontend/" zip_filename_param="build.zip" deploy ################################################### # 使用git-bash来运行npm run deploy:dev # 在Windows上使用npm install -g 7zip来安装7z命令 # selfMarketing名字不可随意更改,否则覆盖服务器相关文件夹 # 测试环境暂时没有备份机制 ###################################################