Files
admin/.tasks/vehicles-loader-progress-deploy.md
vitya b8a07fee85 tasks(vehicles-loader-progress-deploy): 0.4.0 deployed, verify pending 06:21
Build здесь → push docker.stostayer.ru/vehicles-loader:0.4.0 → на хосте
клиента pull + re-tag :latest=0.4.0 (0.3.0 retained для rollback).
Acceptance #1 закрыт. Verify journalctl ждёт natural-прогона
Sun 2026-05-31 06:21 MSK (user выбрал natural-окно, без baseline-reset).
Open Q #1 снят: a74ef73 уже в origin/master.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 09:03:13 +03:00

80 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# vehicles-loader-progress-deploy
## Goal
Доставить `@stostayer/vehicles-loader` **0.4.0** (прогресс-логирование) на прод клиента и
верифицировать, что `journalctl` во время боевого `sync` показывает движение, а не ~2ч тишины.
Код-сайд готов: progress-logging зашипан в `stostayer.new` master (commit `a74ef73`, bump
0.3.0 → 0.4.0, 24/24 теста зелёные). Это чисто ops-handoff: rebuild образа на той же
схеме, что и 0.3.0 (build здесь → push в registry клиента `docker.stostayer.ru` → host
pull + re-tag), затем дождаться/прогнать sync и снять лог.
Закрывает единственный не-верифицированный acceptance-критерий исходной таски
`stostayer.new/.tasks/vehicles-loader-progress-logging.md` — «journalctl показывает движение»
(остальные 4/5 покрыты unit-тестами; этот по природе требует живого прод-прогона).
## Что нового в 0.4.0 (что должно появиться в логе)
- Фазовые строки: `▶ <phase> — start` / `✓ <phase> — done: N rows, <dur>` для
branches / vehicles / units / delete-sweep.
- Батч-прогресс: ` manufacturers: 18/183 (12s)`, ` units: 5/26 (…)` — авто-шаг ≈ total/10.
- delete-sweep per-model: ` delete-sweep <model>: N disabled` / `0 — выгрузка полная` /
`skip (пустой seen-set)`.
## Pending ops actions
- [x] **Build & push** на dev-машине из корня `stostayer.new` (2026-05-30): образ
`docker.stostayer.ru/vehicles-loader:0.4.0` собран (811MB, digest
`sha256:f2e10b1f090ba47f9b5de83b84f91c5ce827ecaf1e94bc0331f2d6773f85845a`),
`docker login` BA-кредами → `docker push` (общие слои с 0.3.0, докинуты только app-слои).
verdaccio-депы из `.yarn/cache` запеклись при build.
- [x] **На хосте клиента** (ssh `victor@new.stostayer.ru:20435`, docker через `sudo -S`):
`docker pull …:0.4.0` (digest совпал) + `docker tag …:0.4.0 vehicles-loader:latest`.
`:latest` теперь `0f8a4dd46236` = 0.4.0; 0.3.0 (`5407c0563e44`) оставлен под rollback.
- [ ] Дождаться планового прогона — **systemd timer next trigger `Sun 2026-05-31 06:21:36 MSK`**
(timer `enabled`, `active (waiting)`). Verify-окно выбрано user'ом = natural 06:20
(не форсим baseline-reset — клиент не получает внепланового email). На unchanged будет
`skipped-unchanged`; 1С перезапишет файл в 6:00 → 06:21 прогон на changed-выгрузке.
- [ ] **Live-verify (СЛЕДУЮЩАЯ СЕССИЯ после 06:21 MSK 31.05):**
`journalctl -u vehicles-loader.service --since '2026-05-31 06:00'` — видны
`▶ … start`, периодический батч-прогресс, `✓ … done`, per-model delete-sweep.
## Acceptance criteria
- Образ `docker.stostayer.ru/vehicles-loader:0.4.0` собран здесь и доступен на хосте клиента,
`:latest` указывает на 0.4.0.
- В `journalctl -u vehicles-loader.service` боевого прогона видно движение по фазам +
батч-прогресс + per-model delete-sweep counts (не тишина после трёх `Total …`).
- Данные залились корректно (`importRun` новый `ok`-ряд), email-отчёт ушёл (попутно
закрывает остаток «живой email-SEND в составе sync» из `vehicles-loader-image-distribution`).
## Decisions log
- 2026-05-30: **build+push+host-deploy выполнены.** Образ 0.4.0 собран здесь, запушен в
`docker.stostayer.ru`, на хосте pull + re-tag `:latest` → 0.4.0. 0.3.0 retained для rollback.
- 2026-05-30: open question #1 (push кода) снят — `a74ef73` оказался **уже в origin/master**
(`git branch -r --contains a74ef73` → origin/master), дерево чистое. Билдил из чистого дерева,
Rule-4-вопроса нет.
- 2026-05-30: open question #2 (verify-окно) решён user'ом = **ждём natural 06:20** (Sun 31.05),
НЕ форсим baseline-reset. Причина: форс = внеплановое email-письмо клиенту + спурьёзный
ре-импорт; natural-прогон и так = боевой acceptance. Trade-off: verify unattended, в след. сессии.
- 2026-05-30: заведено из `stostayer.new` session по явному указанию (закрыть код-таску
by-inspection, live-verify вынести в .admin как deploy-follow-up).
## Open questions
- [x] ~~Push `stostayer.new` master нужен до build?~~ — нет, `a74ef73` уже в origin/master.
- [x] ~~Где взять changed-выгрузку?~~ — ждём natural 06:21 Sun 31.05 (1С перезапишет файл в 6:00).
## Notes
- Схема деплоя 0.3.0 + обе инфра-гочи (IPv4 DB host; custom `/etc/hosts` для mail-DNS) —
`stostayer.new/.wiki/concepts/client-infra-access.md` + `vehicles-loader-docker-deploy.md`.
- Источник: `stostayer.new/.tasks/vehicles-loader-progress-logging.md` (🟢 closed by-inspection),
commit `a74ef73`.
- Предшественник: `.admin vehicles-loader-image-distribution` (🟢 closed 2026-05-29) — канал
поставки + первый боевой прогон 0.3.0.
<!-- created-by: vitya@stostayer.new-session / 2026-05-30 / handoff: stostayer.new/.tasks/vehicles-loader-progress-logging.md -->