docs(ORCH-042): add deploy log (deploy_status: SUCCESS)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
82
docs/work-items/ORCH-042/14-deploy-log.md
Normal file
82
docs/work-items/ORCH-042/14-deploy-log.md
Normal file
@@ -0,0 +1,82 @@
|
||||
---
|
||||
deploy_status: SUCCESS
|
||||
timestamp: 2026-06-06T10:20:38Z
|
||||
work_item: ORCH-042
|
||||
branch: feature/ORCH-042-telegram-live-tracker-bump
|
||||
commit: 753eea37fc9b0b7bffd9f896ae8149f5a515fc26
|
||||
target_service: orchestrator
|
||||
target_port: 8500
|
||||
deploy_mode: artifact-only
|
||||
staging_gate: SUCCESS
|
||||
prod_container_restarted: false
|
||||
rebuild_required: 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)
|
||||
|
||||
```bash
|
||||
# на хосте 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).
|
||||
Reference in New Issue
Block a user