74 lines
1.5 KiB
Bash
74 lines
1.5 KiB
Bash
#!/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
|