diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 8d7dfad..353b7b5 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -17,26 +17,31 @@ jobs: BRANCH="main" SUDO_PASSWORD="123quant-speed" - # 1. 创建目标目录 + # 使用函数处理 sudo + run_sudo() { + echo "$SUDO_PASSWORD" | sudo -S "$@" + } + + # 1. 创建目标目录并设置权限 echo "===== 创建目标目录: $TARGET_DIR =====" - sudo mkdir -p $TARGET_DIR + run_sudo mkdir -p $TARGET_DIR + run_sudo chown -R quant:quant $TARGET_DIR # 2. 检查是否是 git 仓库 echo "===== 检查 git 仓库 =====" cd $TARGET_DIR if [ ! -d ".git" ]; then echo "目录不是 git 仓库,将进行克隆..." - sudo rm -rf $TARGET_DIR/* - sudo git clone -b $BRANCH $REPO_URL $TARGET_DIR + run_sudo git clone -b $BRANCH $REPO_URL $TARGET_DIR else echo "已是 git 仓库,执行 pull..." - sudo git pull origin $BRANCH + run_sudo git pull origin $BRANCH fi # 3. 停止并移除 Docker 容器 echo -e "\n===== 停止并清理 Docker =====" cd $TARGET_DIR - echo $SUDO_PASSWORD | sudo -S docker compose down + run_sudo docker compose down # 4. 创建/更新 .env 文件 echo -e "\n===== 配置环境变量 =====" @@ -60,6 +65,6 @@ jobs: # 5. 重新启动 Docker 容器 echo -e "\n===== 启动 Docker 容器 =====" - echo $SUDO_PASSWORD | sudo -S docker compose up -d --build + run_sudo docker compose up -d --build echo -e "\n===== 操作完成!====="