Files
orchestrator/docs/work-items/ORCH-042/14-deploy-log.md
2026-06-06 10:22:01 +00:00

4.6 KiB
Raw Permalink Blame History

deploy_status, timestamp, work_item, branch, commit, target_service, target_port, deploy_mode, staging_gate, prod_container_restarted, rebuild_required
deploy_status timestamp work_item branch commit target_service target_port deploy_mode staging_gate prod_container_restarted rebuild_required
SUCCESS 2026-06-06T10:20:38Z ORCH-042 feature/ORCH-042-telegram-live-tracker-bump 753eea37fc orchestrator 8500 artifact-only SUCCESS false true

Deploy Log — ORCH-042

Verdict

deploy_status: SUCCESS — артефактный (artifact-only) деплой-вердикт.

Реальный git pull + docker compose ... --build + рестарт прод-контейнера orchestrator (8500) в рамках этой стадии НЕ выполняется. Он делегирован хуку scripts/orchestrator-deploy-hook.sh (ORCH-36), который запускается Владельцем после мерджа ветки feature/ORCH-042-telegram-live-tracker-bump в main. Guardrail: агент никогда не перезапускает общий прод-инстанс внутри ORCH-задачи — это self-hosting групповой риск (CLAUDE.md / INFRA.md §Self-hosting): рестарт прод-орка остановил бы конвейер ВСЕХ проектов.

Pre-conditions (все ✓)

Артефакт Поле Значение
12-review.md verdict APPROVED
13-test-report.md result PASS
15-staging-log.md staging_status SUCCESS (10/10 staging-checks, прогон внутри orchestrator-staging :8501)
04-test-plan.yaml покрывает AC задачи
ADR 06-adr/ADR-001-tracker-bump-mode.md заведён
CHANGELOG.md обновлён

Стадия deploy достижима только потому, что условный staging-гейт (check_staging_status, реальный для self-hosting repo=orchestrator) — зелёный.

Change scope — почему нужен rebuild+restart (но не сейчас)

ORCH-042 меняет рантайм-код src/, который копируется в образ (/app/src) и исполняется прод-процессом — значит для вступления в силу на проде нужен rebuild + restart контейнера:

Файл Тип Как доезжает до прода
src/notifications.py runtime (в образе) требует rebuild + restart контейнера
src/config.py runtime (в образе) требует rebuild + restart контейнера
.env.example дескриптор реальные значения — в .env на хосте (не в гит)
docs/**, CHANGELOG.md docs мерж в main
tests/** тесты, не деплоятся n/a

rebuild_required: true. Изменения добавляют режим bump live-tracker'а Telegram (карточка перемещается вниз при обновлении) + русификацию текста уведомлений; они активируются новыми env-флагами (см. .env.example). Чтобы новое поведение вступило в силу на проде, прод-инстанс orchestrator (8500) должен быть пересобран и перезапущен Владельцем через деплой-хук после мерджа — не данным агентом.

Deploy-хук (выполняет Владелец после мерджа в main)

# на хосте mva154, прод-таргет (порт 8500, profile отсутствует → default)
TARGET_SERVICE=orchestrator \
TARGET_PORT=8500 \
TARGET_IMAGE=orchestrator-orchestrator \
COMPOSE_PROFILE= \
scripts/orchestrator-deploy-hook.sh --deploy

Хук: снимает снапшот текущего образа → git pull origin main → перезапуск сервиса → health-check (10×6s, до 60s по GET /health) → при провале авто-rollback на предыдущий образ. Прод-env-флаги bump-режима выставляются в .env на хосте до перезапуска.

⚠️ Self-hosting: rebuild прод-орка = групповой риск (общая БД + очередь с enduro-trails). Деплой проводить в окно низкой активности конвейера; страховка — авто-rollback хука и зелёный staging-гейт (8501).