From 9775717e450110c013cd52e70f61fcca4654d7e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=88=BD=E5=93=92=E5=93=92?= Date: Sat, 21 Mar 2026 02:54:24 +0800 Subject: [PATCH] fix: require pre-initialized git repo, use fetch+reset --- .gitea/workflows/deploy.yaml | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index a08120e..6c6b609 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -26,33 +26,17 @@ jobs: echo -e "\n===== 停止并清理 Docker =====" echo $SUDO_PASSWORD | sudo -S docker compose down - # 3. 拉取最新代码(通过 gitea API 下载压缩包) + # 3. 拉取最新代码 echo -e "\n===== 拉取最新代码 =====" - ARCHIVE_URL="https://gitea.tangledup-ai.com/quant-speed-AI/Scoring-System/archive/main.tar.gz" - AUTH_HEADER="Authorization: Basic $(echo -n 'sdd:zsj981107' | base64)" - rm -f /tmp/scoring.tar.gz - DOWNLOAD_OK=false - for i in 1 2 3; do - echo "第 $i 次尝试下载代码包..." - wget --header="$AUTH_HEADER" -O /tmp/scoring.tar.gz "$ARCHIVE_URL" 2>&1 || true - FILE_SIZE=$(stat -c%s /tmp/scoring.tar.gz 2>/dev/null || echo 0) - echo "下载文件大小: $FILE_SIZE bytes" - if [ "$FILE_SIZE" -gt 10240 ] && tar -tzf /tmp/scoring.tar.gz > /dev/null 2>&1; then - DOWNLOAD_OK=true - break - fi - echo "文件不完整,等待5秒后重试..." - rm -f /tmp/scoring.tar.gz - sleep 5 - done - if [ "$DOWNLOAD_OK" != "true" ]; then - echo "错误:代码下载失败,终止部署" + REPO_URL="https://sdd:zsj981107@gitea.tangledup-ai.com/quant-speed-AI/Scoring-System.git" + if [ ! -d ".git" ]; then + echo "错误:目录不是 git 仓库,请先手动执行:" + echo " cd $TARGET_DIR && git clone $REPO_URL ." exit 1 fi - echo "解压代码..." - tar -xzf /tmp/scoring.tar.gz -C /tmp/ - rsync -av --exclude='.env' --exclude='media/' /tmp/Scoring-System/ $TARGET_DIR/ - rm -rf /tmp/scoring.tar.gz /tmp/Scoring-System + git remote set-url origin $REPO_URL + git fetch origin main + git reset --hard origin/main echo "代码更新完成" # 4. 创建/更新 .env 文件