#!/bin/bash # Write Server 更新脚本 # 用于更新应用版本 set -e echo "===================================" echo " Write Server 更新脚本" echo "===================================" # 备份当前版本 echo "1. 备份当前版本..." ./scripts/backup.sh # 拉取最新代码 echo "" echo "2. 拉取最新代码..." git pull origin main # 检查是否有更新 if [ $? -eq 0 ]; then echo "代码已更新" else echo "代码已是最新版本" fi # 安装依赖 echo "" echo "3. 安装依赖..." npm install # 构建项目 echo "" echo "4. 构建项目..." npm run build # 重启服务 echo "" echo "5. 重启服务..." if command -v pm2 &> /dev/null; then pm2 restart write-server elif command -v systemctl &> /dev/null; then sudo systemctl restart write-server else echo "警告: 无法自动重启服务,请手动重启" fi # 等待服务启动 echo "" echo "6. 等待服务启动..." sleep 5 # 健康检查 echo "" echo "7. 健康检查..." if ./scripts/healthcheck.sh; then echo "" echo "===================================" echo " 更新成功!" echo "===================================" echo "" else echo "" echo "===================================" echo " 更新完成,但健康检查失败" echo "===================================" echo "" echo "请检查日志:" echo " pm2 logs write-server" echo " 或" echo " sudo journalctl -u write-server -n 50" echo "" exit 1 fi