ci(deploy): compose из инфра-репо напрямую через -f (чистый git status на сервере)
Шаг 0.14 (доработка): без cp в /opt/crm — docker compose -f /opt/crm-infra/docker-compose.prod.yml --project-directory /opt/crm
This commit is contained in:
14
.github/workflows/deploy.yml
vendored
14
.github/workflows/deploy.yml
vendored
@@ -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..."
|
||||
|
||||
Reference in New Issue
Block a user