fix: force HTTP/1.1 and validate download integrity
Some checks failed
Deploy to Server / deploy (push) Failing after 28s

This commit is contained in:
爽哒哒
2026-03-21 02:44:10 +08:00
parent 18740afdbd
commit 0f3a27234d

View File

@@ -29,19 +29,27 @@ jobs:
# 3. 拉取最新代码(用 curl 下载压缩包,避免 git 网络不稳定)
echo -e "\n===== 拉取最新代码 ====="
ARCHIVE_URL="https://sdd:zsj981107@gitea.tangledup-ai.com/quant-speed-AI/Scoring-System/archive/main.tar.gz"
rm -f /tmp/scoring.tar.gz
DOWNLOAD_OK=false
for i in 1 2 3; do
echo "第 $i 次尝试下载代码包..."
curl -L --retry 3 --retry-delay 3 -o /tmp/scoring.tar.gz "$ARCHIVE_URL" && break
echo "下载失败等待5秒后重试..."
curl -L --http1.1 --retry 2 --retry-delay 3 -o /tmp/scoring.tar.gz "$ARCHIVE_URL"
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 [ ! -f /tmp/scoring.tar.gz ]; then
if [ "$DOWNLOAD_OK" != "true" ]; then
echo "错误:代码下载失败,终止部署"
exit 1
fi
echo "解压代码..."
tar -xzf /tmp/scoring.tar.gz -C /tmp/
# gitea 解压出来的目录名是 Scoring-System
rsync -av --exclude='.env' --exclude='media/' /tmp/Scoring-System/ $TARGET_DIR/
rm -rf /tmp/scoring.tar.gz /tmp/Scoring-System
echo "代码更新完成"