修复:自动检测 Docker Compose 版本并兼容 V1/V2
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 5s

- 添加 docker compose 版本检测和调试信息
- 自动适配 docker-compose (V1) 或 docker compose (V2)
- 使用变量 $COMPOSE 统一调用,避免硬编码
- 解决 Runner 环境中 compose 命令识别问题
This commit is contained in:
2026-01-20 09:52:12 +08:00
parent e649bfb975
commit 609e952a5a

View File

@@ -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()