52 lines
1.2 KiB
Bash
Executable File
52 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 部署脚本
|
||
# 使用方法: ./deploy.sh [remote_host] [port]
|
||
# 示例: ./deploy.sh gavin@biboer.cn 21174
|
||
|
||
# 配置远程服务器信息
|
||
REMOTE_HOST="${1:-gavin@biboer.cn}" # 默认远程主机
|
||
REMOTE_PORT="${2:-21174}" # 默认SSH端口
|
||
REMOTE_DIR="/home/gavin/monitor" # 远程部署目录
|
||
|
||
echo "🚀 开始部署 Monitor 网站..."
|
||
echo "📡 远程服务器: $REMOTE_HOST"
|
||
echo "📁 远程目录: $REMOTE_DIR"
|
||
|
||
# 1. 安装依赖
|
||
echo "📦 安装依赖..."
|
||
npm install
|
||
|
||
# 2. 构建网页版本
|
||
echo "🔨 构建网页版本..."
|
||
npm run build
|
||
|
||
# 3. 检查构建结果
|
||
if [ ! -d "dist" ]; then
|
||
echo "❌ 构建失败,dist 目录不存在"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ 构建完成!"
|
||
|
||
# 4. 创建远程目录
|
||
echo "📂 准备远程目录..."
|
||
ssh -p $REMOTE_PORT $REMOTE_HOST "mkdir -p $REMOTE_DIR"
|
||
|
||
# 5. 同步 dist 目录到远程服务器
|
||
echo "📤 上传文件到服务器..."
|
||
rsync -avz --delete \
|
||
--exclude '.DS_Store' \
|
||
--exclude '._*' \
|
||
--exclude 'node_modules' \
|
||
-e "ssh -p $REMOTE_PORT" \
|
||
dist/ $REMOTE_HOST:$REMOTE_DIR/
|
||
|
||
# 6. 验证部署
|
||
echo "🔍 验证部署..."
|
||
ssh -p $REMOTE_PORT $REMOTE_HOST "ls -lh $REMOTE_DIR"
|
||
|
||
echo ""
|
||
echo "✅ 部署完成!"
|
||
echo "📍 文件已上传到: $REMOTE_HOST:$REMOTE_DIR"
|