From 38a38d54c66dfe6b85e26ba7f4f3cc3c70ad1814 Mon Sep 17 00:00:00 2001
From: tony.cheng <chengmingwei_1984122@126.com>
Date: Mon, 16 Mar 2026 14:42:40 +0800
Subject: [PATCH] feat: 优化外呼组件和案件数据上下文,完善实时外呼功能
---
web-app/deploy/deploy.sh | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 152 insertions(+), 0 deletions(-)
diff --git a/web-app/deploy/deploy.sh b/web-app/deploy/deploy.sh
new file mode 100644
index 0000000..cd33870
--- /dev/null
+++ b/web-app/deploy/deploy.sh
@@ -0,0 +1,152 @@
+#!/bin/bash
+
+# ============================================
+# 云小调前端一键部署脚本
+# 目标服务器:36.140.67.217
+# 使用方式:./deploy.sh
+# ============================================
+
+set -e
+
+# 配置变量
+SERVER_IP="36.140.67.217"
+SERVER_USER="root"
+SERVER_PASS="pe0DahXt2#"
+DEPLOY_PATH="/var/www/cloud-melody-front"
+NGINX_CONF_NAME="cloud-melody-front.conf"
+
+# 颜色输出
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+YELLOW='\033[1;33m'
+NC='\033[0m'
+
+log_info() {
+ echo -e "${GREEN}[INFO]${NC} $1"
+}
+
+log_warn() {
+ echo -e "${YELLOW}[WARN]${NC} $1"
+}
+
+log_error() {
+ echo -e "${RED}[ERROR]${NC} $1"
+}
+
+# 检查依赖
+check_dependencies() {
+ log_info "检查依赖..."
+
+ if ! command -v npm &> /dev/null; then
+ log_error "npm 未安装,请先安装 Node.js"
+ exit 1
+ fi
+
+ if ! command -v sshpass &> /dev/null; then
+ log_warn "sshpass 未安装,正在安装..."
+ if [[ "$OSTYPE" == "darwin"* ]]; then
+ brew install sshpass 2>/dev/null || brew install hudochenkov/sshpass/sshpass
+ elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
+ sudo apt-get install -y sshpass || sudo yum install -y sshpass
+ fi
+ fi
+
+ log_info "依赖检查完成"
+}
+
+# 构建项目
+build_project() {
+ log_info "开始构建项目..."
+
+ cd "$(dirname "$0")/.."
+
+ # 安装依赖
+ log_info "安装依赖..."
+ npm install
+
+ # 构建生产包
+ log_info "构建生产包..."
+ npm run build
+
+ if [ ! -d "build" ]; then
+ log_error "构建失败,build 目录不存在"
+ exit 1
+ fi
+
+ log_info "构建完成"
+}
+
+# 部署到服务器
+deploy_to_server() {
+ log_info "开始部署到服务器 ${SERVER_IP}..."
+
+ # 创建远程目录
+ sshpass -p "${SERVER_PASS}" ssh -o StrictHostKeyChecking=no ${SERVER_USER}@${SERVER_IP} "
+ mkdir -p ${DEPLOY_PATH}
+ mkdir -p /etc/nginx/conf.d
+ "
+
+ # 上传构建文件
+ log_info "上传构建文件..."
+ sshpass -p "${SERVER_PASS}" scp -o StrictHostKeyChecking=no -r build/* ${SERVER_USER}@${SERVER_IP}:${DEPLOY_PATH}/
+
+ # 上传 nginx 配置
+ log_info "配置 Nginx..."
+ sshpass -p "${SERVER_PASS}" scp -o StrictHostKeyChecking=no \
+ "$(dirname "$0")/cloud-melody-front.conf" \
+ ${SERVER_USER}@${SERVER_IP}:/etc/nginx/conf.d/${NGINX_CONF_NAME}
+
+ # 重启 nginx
+ log_info "重启 Nginx..."
+ sshpass -p "${SERVER_PASS}" ssh -o StrictHostKeyChecking=no ${SERVER_USER}@${SERVER_IP} "
+ # 检查 nginx 配置
+ nginx -t
+
+ # 重启 nginx
+ systemctl restart nginx || service nginx restart
+
+ # 设置开机自启
+ systemctl enable nginx || chkconfig nginx on
+ "
+
+ log_info "部署完成!"
+}
+
+# 显示部署结果
+show_result() {
+ echo ""
+ echo "============================================"
+ echo -e "${GREEN}部署成功!${NC}"
+ echo "============================================"
+ echo ""
+ echo "访问地址:"
+ echo " 前端页面:http://${SERVER_IP}:9002"
+ echo " 后端API:http://${SERVER_IP}:9015"
+ echo ""
+ echo "服务器信息:"
+ echo " IP:${SERVER_IP}"
+ echo " 用户:${SERVER_USER}"
+ echo " 部署路径:${DEPLOY_PATH}"
+ echo ""
+ echo "常用命令:"
+ echo " 查看 Nginx 状态:ssh root@${SERVER_IP} 'systemctl status nginx'"
+ echo " 查看 Nginx 日志:ssh root@${SERVER_IP} 'tail -f /var/log/nginx/error.log'"
+ echo " 重启 Nginx:ssh root@${SERVER_IP} 'systemctl restart nginx'"
+ echo "============================================"
+}
+
+# 主流程
+main() {
+ echo ""
+ echo "============================================"
+ echo " 云小调前端一键部署脚本"
+ echo "============================================"
+ echo ""
+
+ check_dependencies
+ build_project
+ deploy_to_server
+ show_result
+}
+
+main "$@"
--
Gitblit v1.8.0