From 307938c18a51a897f95ab9483d89cd196f10823c 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 00:31:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B7=A5=E4=BD=9C=E6=B5=81?= =?UTF-8?q?=EF=BC=9A=E5=85=BC=E5=AE=B9=E9=A6=96=E6=AC=A1=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=EF=BC=8C=E5=8F=82=E8=80=83market=5Fpage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yaml | 107 +++++++++++++++-------------------- 1 file changed, 46 insertions(+), 61 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index e91838e..5a0bb20 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -11,77 +11,62 @@ jobs: host: 6.6.6.66 username: quant password: 123quant-speed - command: | - TARGET_DIR="/home/quant/scoring-system" - REPO_URL="https://gitea.tangledup-ai.com/quant-speed-AI/Scoring-System" - BRANCH="main" - PASSWORD="123quant-speed" + script: | + TARGET_DIR="/home/quant/data/dev/scoring-system" + REPO_URL="https://gitea.tangledup-ai.com/quant-speed-AI/Scoring-System.git" + SUDO_PASSWORD="123quant-speed" - # 使用 sudo 的函数 - run_sudo() { - echo "$PASSWORD" | sudo -S "$@" 2>/dev/null - } - - # 1. 创建目标目录 + # 1. 创建目标目录(如果不存在) echo "===== 创建目标目录: $TARGET_DIR =====" - run_sudo mkdir -p $TARGET_DIR - run_sudo chown -R quant:quant $TARGET_DIR + mkdir -p $TARGET_DIR - # 2. 备份 .env - echo "===== 备份配置 =====" - if [ -f "$TARGET_DIR/backend/.env" ]; then - cp $TARGET_DIR/backend/.env /tmp/scoring-env-backup - fi - - # 3. 下载最新代码 - echo "===== 下载最新代码 =====" + # 2. 检查是否是 git 仓库 + echo "===== 检查 git 仓库 =====" cd $TARGET_DIR - curl -L -o /tmp/scoring-system.tar.gz "$REPO_URL/archive/refs/heads/$BRANCH.tar.gz" - - # 4. 解压代码 - echo "===== 解压代码 =====" - run_sudo tar -xzf /tmp/scoring-system.tar.gz -C $TARGET_DIR - run_sudo mv $TARGET_DIR/Scoring-System-*/* $TARGET_DIR/ - run_sudo rm -rf $TARGET_DIR/Scoring-System-* - rm /tmp/scoring-system.tar.gz - run_sudo chown -R quant:quant $TARGET_DIR - - # 5. 恢复配置 - echo "===== 恢复配置 =====" - if [ -f /tmp/scoring-env-backup ]; then - cp /tmp/scoring-env-backup $TARGET_DIR/backend/.env + if [ ! -d ".git" ]; then + echo "目录不是 git 仓库,进行克隆..." + git clone $REPO_URL . fi - # 6. 停止并移除 Docker 容器 + # 3. 拉取 Git 最新代码 + echo -e "\n===== 拉取 Git 代码 =====" + # 尝试拉取,如果失败则强制重置 + if ! git pull; then + echo "警告:Git pull 失败,尝试强制同步远程代码..." + git fetch --all + # 获取当前分支名并重置 + CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) + git reset --hard origin/$CURRENT_BRANCH + git pull + fi + + # 4. 停止并移除 Docker 容器 echo -e "\n===== 停止并清理 Docker =====" - cd $TARGET_DIR - echo "$PASSWORD" | sudo -S docker compose down 2>/dev/null || true + echo $SUDO_PASSWORD | sudo -S docker compose down - # 7. 创建 .env 文件(如果没有) + # 5. 创建/更新 .env 文件 echo -e "\n===== 配置环境变量 =====" - if [ ! -f $TARGET_DIR/backend/.env ]; then - mkdir -p $TARGET_DIR/backend - cat > $TARGET_DIR/backend/.env <<'EOF' - # Database Configuration - DB_NAME=scoring - DB_USER=quant-speed - DB_PASSWORD=123quant-speed - DB_HOST=6.6.6.66 - DB_PORT=5432 - # Aliyun OSS Configuration - ALIYUN_ACCESS_KEY_ID=LTAI5tE62GW8MKyoEaotzxXk - ALIYUN_ACCESS_KEY_SECRET=Zdzqo1fgj57DxxioXOotNKhJdSfVQW - ALIYUN_OSS_ENDPOINT=https://oss-cn-shanghai.aliyuncs.com - ALIYUN_OSS_BUCKET_NAME=tangledup-ai-staging - ALIYUN_OSS_INTERNAL_ENDPOINT=https://oss-cn-shanghai-internal.aliyuncs.com - # Aliyun Tingwu Configuration - ALIYUN_TINGWU_APP_KEY=6eOX7N3tKE0fDwb - DASHSCOPE_API_KEY=sk-84e9eef24a274f568d4fa15c97556c9f - EOF - fi + mkdir -p backend + cat > backend/.env <