feat: 添加自动更新脚本(Gitea 拉取 + 服务重启)
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# vps-manager 自动更新脚本(由 systemd timer 定时触发)
|
||||||
|
# 从 Gitea 拉取最新代码,如有更新则重启服务
|
||||||
|
# 部署位置:/opt/vps-manager/deploy/update.sh
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
cd /opt/vps-manager
|
||||||
|
|
||||||
|
git fetch -q origin main
|
||||||
|
|
||||||
|
LOCAL=$(git rev-parse HEAD)
|
||||||
|
REMOTE=$(git rev-parse origin/main)
|
||||||
|
|
||||||
|
if [ "$LOCAL" = "$REMOTE" ]; then
|
||||||
|
echo "[$(date '+%F %T')] 代码已是最新,无需更新"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[$(date '+%F %T')] 检测到新版本: ${LOCAL:0:8} -> ${REMOTE:0:8}"
|
||||||
|
git pull --ff-only -q origin main
|
||||||
|
|
||||||
|
# 依赖如有变更自动安装(无变化时 pip 会快速跳过)
|
||||||
|
.venv/bin/pip install -q -r requirements.txt 2>/dev/null || true
|
||||||
|
|
||||||
|
# 重启服务加载新代码
|
||||||
|
systemctl restart vps-manager
|
||||||
|
echo "[$(date '+%F %T')] 已重启 vps-manager 服务"
|
||||||
Reference in New Issue
Block a user