diff --git a/deploy.sh b/deploy.sh index d4010df..cf652ee 100644 --- a/deploy.sh +++ b/deploy.sh @@ -13,22 +13,26 @@ log_message() { echo "[$timestamp] $1" >> "$LOG_FILE" } +# 解决 Git 2.35.2+ 的「dubious ownership」拦截:把本仓库加入安全目录白名单 +# (Webhook 进程用户与仓库所有者不一致时会 fatal 报错,加这一行即可) +git config --global --add safe.directory "$SOURCE_DIR" 2>/dev/null || true + # 主逻辑 -log_message("开始部署...") +log_message "开始部署..." # 进入源码目录 cd "$SOURCE_DIR" || { - log_message("错误: 无法进入源码目录 $SOURCE_DIR") + log_message "错误: 无法进入源码目录 $SOURCE_DIR" exit 1 } # 拉取最新代码 -log_message("拉取最新代码...") -git pull origin main +log_message "拉取最新代码..." +git -c safe.directory="$SOURCE_DIR" pull origin main if [ $? -eq 0 ]; then - log_message("代码拉取成功") + log_message "代码拉取成功" else - log_message("错误: 代码拉取失败") + log_message "错误: 代码拉取失败" exit 1 fi @@ -72,5 +76,5 @@ fi # exit 1 # fi -log_message("部署完成!") +log_message "部署完成!" exit 0 \ No newline at end of file