Files
happy-life-star/web/deploy.sh
T

59 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# 部署脚本 - 将构建好的文件上传到服务器
# 使用方法: ./deploy.sh
SERVER_IP="101.200.208.45"
USERNAME="root"
REMOTE_PATH="/data/www/emotion-museum"
echo "开始部署前端应用到服务器..."
# 检查是否安装了npm
if ! command -v npm &> /dev/null; then
echo "❌ 错误: 未找到npm命令,请先安装Node.js"
exit 1
fi
# 执行构建(无论dist目录是否存在,都必须构建)
echo "📦 开始构建前端项目..."
if npm run build; then
echo "✅ 前端项目构建成功"
else
echo "❌ 前端项目构建失败,请检查代码"
exit 1
fi
# 验证dist目录是否存在
if [ ! -d "dist" ]; then
echo "❌ 错误: 构建后dist目录仍不存在,请检查构建配置"
exit 1
fi
# 检查是否安装了scp命令
if ! command -v scp &> /dev/null; then
echo "错误: 未找到scp命令,请安装OpenSSH客户端"
exit 1
fi
echo "正在上传文件到服务器 $SERVER_IP..."
# 上传所有文件到服务器
if scp dist/index.html "${USERNAME}@${SERVER_IP}:${REMOTE_PATH}/" && \
scp -r dist/assets "${USERNAME}@${SERVER_IP}:${REMOTE_PATH}/"; then
# 上传测试文件(如果存在)
if [ -f "dist/test-login-redirect.html" ]; then
scp dist/test-*.html "${USERNAME}@${SERVER_IP}:${REMOTE_PATH}/" 2>/dev/null || true
fi
echo "✅ 部署完成!"
echo "📱 访问地址: https://lifescript.happylifeos.com/"
else
echo "❌ 部署失败,请检查:"
echo "1. 服务器IP地址是否正确"
echo "2. SSH密钥是否配置正确"
echo "3. 服务器目录权限是否正确"
exit 1
fi