From 609e952a5ae768463fb77079e44109eb81b61353 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 20 Jan 2026 09:52:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=20Docker=20Compose=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=B9=B6=E5=85=BC=E5=AE=B9=20V1/V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 docker compose 版本检测和调试信息 - 自动适配 docker-compose (V1) 或 docker compose (V2) - 使用变量 $COMPOSE 统一调用,避免硬编码 - 解决 Runner 环境中 compose 命令识别问题 --- .gitea/workflows/deploy.yaml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 0e736fb..d5e04f6 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -68,11 +68,28 @@ jobs: cd ${{ env.DEPLOY_DIR }} + # 检查 docker compose 版本 + echo "检查 Docker Compose..." + docker --version + docker compose version || echo "docker compose 不可用" + + # 设置 COMPOSE 命令(兼容 V1 和 V2) + if command -v docker-compose &> /dev/null; then + COMPOSE="docker-compose" + echo "使用 docker-compose (V1)" + elif docker compose version &> /dev/null; then + COMPOSE="docker compose" + echo "使用 docker compose (V2)" + else + echo "错误: 未找到 docker-compose 或 docker compose" + exit 1 + fi + echo "拉取最新镜像..." - docker compose -f docker-compose.prod.yml pull + $COMPOSE -f docker-compose.prod.yml pull echo "执行滚动更新..." - docker compose -f docker-compose.prod.yml up -d --no-deps + $COMPOSE -f docker-compose.prod.yml up -d --no-deps echo "等待服务健康检查..." sleep 10 @@ -85,7 +102,7 @@ jobs: docker image prune -f echo "部署完成!" - docker compose -f docker-compose.prod.yml ps + $COMPOSE -f docker-compose.prod.yml ps - name: 构建结果通知 if: always()