修复工作流:支持非git目录部署
All checks were successful
Deploy to Server / deploy (push) Successful in 19s

This commit is contained in:
爽哒哒
2026-03-21 00:16:06 +08:00
parent 7e0d68112d
commit 65a03fb761

View File

@@ -13,30 +13,32 @@ jobs:
password: 123quant-speed password: 123quant-speed
script: | script: |
TARGET_DIR="/home/quant/data/dev/deploy" TARGET_DIR="/home/quant/data/dev/deploy"
REPO_URL="https://gitea.tangledup-ai.com/quant-speed-AI/Scoring-System.git"
BRANCH="main"
SUDO_PASSWORD="123quant-speed" SUDO_PASSWORD="123quant-speed"
# 1. 切换到目标目录 # 1. 创建目标目录
echo "===== 切换到目标目录: $TARGET_DIR =====" echo "===== 创建目标目录: $TARGET_DIR ====="
cd $TARGET_DIR || { sudo mkdir -p $TARGET_DIR
echo "错误:目录 $TARGET_DIR 不存在!"
exit 1
}
# 2. 停止并移除 Docker 容器 # 2. 检查是否是 git 仓库
echo -e "\n===== 停止并清理 Docker =====" echo "===== 检查 git 仓库 ====="
echo $SUDO_PASSWORD | sudo -S docker compose down cd $TARGET_DIR
if [ ! -d ".git" ]; then
# 3. 拉取 Git 最新代码 echo "目录不是 git 仓库,将进行克隆..."
echo -e "\n===== 拉取 Git 代码 =====" sudo rm -rf $TARGET_DIR/*
if ! git pull; then sudo git clone -b $BRANCH $REPO_URL $TARGET_DIR
echo "警告Git pull 失败,尝试强制同步远程代码..." else
git fetch --all echo "已是 git 仓库,执行 pull..."
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) sudo git pull origin $BRANCH
git reset --hard origin/$CURRENT_BRANCH
git pull
fi fi
# 3.1 创建/更新 .env 文件 # 3. 停止并移除 Docker 容器
echo -e "\n===== 停止并清理 Docker ====="
cd $TARGET_DIR
echo $SUDO_PASSWORD | sudo -S docker compose down
# 4. 创建/更新 .env 文件
echo -e "\n===== 配置环境变量 =====" echo -e "\n===== 配置环境变量 ====="
cat > backend/.env <<EOF cat > backend/.env <<EOF
# Database Configuration # Database Configuration
@@ -56,7 +58,7 @@ jobs:
DASHSCOPE_API_KEY=sk-84e9eef24a274f568d4fa15c97556c9f DASHSCOPE_API_KEY=sk-84e9eef24a274f568d4fa15c97556c9f
EOF EOF
# 4. 重新启动 Docker 容器 # 5. 重新启动 Docker 容器
echo -e "\n===== 启动 Docker 容器 =====" echo -e "\n===== 启动 Docker 容器 ====="
echo $SUDO_PASSWORD | sudo -S docker compose up -d --build echo $SUDO_PASSWORD | sudo -S docker compose up -d --build