From c1116ae84f19ac9c706df35a6799322f7a4284b2 Mon Sep 17 00:00:00 2001 From: gouki Date: Sat, 1 Aug 2026 13:50:19 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=84=9A=E6=9C=AC=EF=BC=88Gitea=20=E6=8B=89?= =?UTF-8?q?=E5=8F=96=20+=20=E6=9C=8D=E5=8A=A1=E9=87=8D=E5=90=AF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/update.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 deploy/update.sh diff --git a/deploy/update.sh b/deploy/update.sh new file mode 100644 index 0000000..ecb695d --- /dev/null +++ b/deploy/update.sh @@ -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 服务"