fix: use curl tar.gz download instead of git clone
All checks were successful
Deploy to Server / deploy (push) Successful in 34s
All checks were successful
Deploy to Server / deploy (push) Successful in 34s
This commit is contained in:
@@ -26,37 +26,25 @@ jobs:
|
|||||||
echo -e "\n===== 停止并清理 Docker ====="
|
echo -e "\n===== 停止并清理 Docker ====="
|
||||||
echo $SUDO_PASSWORD | sudo -S docker compose down
|
echo $SUDO_PASSWORD | sudo -S docker compose down
|
||||||
|
|
||||||
# 3. 拉取 Git 最新代码
|
# 3. 拉取最新代码(用 curl 下载压缩包,避免 git 网络不稳定)
|
||||||
echo -e "\n===== 拉取 Git 代码 ====="
|
echo -e "\n===== 拉取最新代码 ====="
|
||||||
REPO_URL="https://sdd:zsj981107@gitea.tangledup-ai.com/quant-speed-AI/Scoring-System.git"
|
ARCHIVE_URL="https://sdd:zsj981107@gitea.tangledup-ai.com/quant-speed-AI/Scoring-System/archive/main.tar.gz"
|
||||||
if [ ! -d ".git" ]; then
|
for i in 1 2 3; do
|
||||||
echo "不是 git 仓库,尝试 clone(最多重试3次)..."
|
echo "第 $i 次尝试下载代码包..."
|
||||||
# 先清理可能残留的 .git
|
curl -L --retry 3 --retry-delay 3 -o /tmp/scoring.tar.gz "$ARCHIVE_URL" && break
|
||||||
rm -rf .git
|
echo "下载失败,等待5秒后重试..."
|
||||||
for i in 1 2 3; do
|
sleep 5
|
||||||
echo "第 $i 次尝试 clone..."
|
done
|
||||||
git clone --depth=1 $REPO_URL /tmp/scoring-system-clone && break
|
if [ ! -f /tmp/scoring.tar.gz ]; then
|
||||||
echo "clone 失败,等待5秒后重试..."
|
echo "错误:代码下载失败,终止部署"
|
||||||
sleep 5
|
exit 1
|
||||||
done
|
|
||||||
if [ -d "/tmp/scoring-system-clone/.git" ]; then
|
|
||||||
cp -r /tmp/scoring-system-clone/. .
|
|
||||||
rm -rf /tmp/scoring-system-clone
|
|
||||||
echo "clone 成功"
|
|
||||||
else
|
|
||||||
echo "错误:clone 失败,终止部署"
|
|
||||||
rm -rf /tmp/scoring-system-clone
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
git remote set-url origin $REPO_URL
|
|
||||||
if ! git pull; then
|
|
||||||
echo "警告:Git pull 失败,尝试强制同步远程代码..."
|
|
||||||
git fetch --all
|
|
||||||
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
||||||
git reset --hard origin/$CURRENT_BRANCH
|
|
||||||
fi
|
|
||||||
fi
|
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 "代码更新完成"
|
||||||
|
|
||||||
# 4. 创建/更新 .env 文件
|
# 4. 创建/更新 .env 文件
|
||||||
echo -e "\n===== 配置环境变量 ====="
|
echo -e "\n===== 配置环境变量 ====="
|
||||||
|
|||||||
Reference in New Issue
Block a user