diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d7f22f7..0627a5e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -77,6 +77,8 @@ jobs: # 2. Прод-compose — из приватного инфра-репозитория (единственный источник правды). # Раньше: git stash кастомизаций + копия из бэкапа вне репо (дрейф, шаг 0.14). + # Файл используется напрямую с -f (без копирования в /opt/crm) — + # git status основного репо на сервере остаётся чистым. if [ ! -d /opt/crm-infra/.git ]; then GIT_SSH_COMMAND="ssh -i /home/deploy/.ssh/id_ed25519_infra" \ git clone git@github.com:iisultanov/iistwin-infra.git /opt/crm-infra @@ -84,14 +86,14 @@ jobs: git -C /opt/crm-infra fetch origin main git -C /opt/crm-infra reset --hard origin/main fi - cp /opt/crm-infra/docker-compose.prod.yml docker-compose.yml + COMPOSE="docker compose -f /opt/crm-infra/docker-compose.prod.yml --project-directory /opt/crm" # 5. Удалить старые/зависшие контейнеры, чтобы избежать # Conflict: container name is already in use docker stop crm-app-1 crm-document-worker-1 2>/dev/null || true docker rm -f crm-app-1 crm-document-worker-1 2>/dev/null || true - docker compose stop app document-worker || true - docker compose rm -f app document-worker || true + $COMPOSE stop app document-worker || true + $COMPOSE rm -f app document-worker || true docker ps -aq --filter "name=crm-app" | xargs -r docker rm -f || true docker ps -aq --filter "name=crm-document-worker" | xargs -r docker rm -f || true @@ -111,7 +113,7 @@ jobs: BUILD_OK=false for attempt in 1 2 3; do echo "=== Docker build attempt $attempt ===" - if docker compose build --build-arg BUILD_SHA=$BUILD_SHA --build-arg ALPINE_MIRROR=mirrors.aliyun.com app; then + if $COMPOSE build --build-arg BUILD_SHA=$BUILD_SHA --build-arg ALPINE_MIRROR=mirrors.aliyun.com app; then BUILD_OK=true break fi @@ -129,9 +131,9 @@ jobs: fi # 6.5 Получить свежий prebuilt образ document-worker из GHCR - docker compose pull document-worker + $COMPOSE pull document-worker - docker compose up -d app document-worker + $COMPOSE up -d app document-worker # 7. Дождаться healthcheck'ов echo "Waiting for healthchecks..."