Files
admin/.tasks/tandemmebel-deploy-snolla-0-42-0.md

3.7 KiB
Raw Blame History

tandemmebel-deploy-snolla-0-42-0

Goal

Пересобрать VDS-staging образ tandemmebel на движке @snollajs/snolla@0.42.0 (core 0.24.0 / data 0.14.1) — суперсидит ранее принятый 0.16.2-staging (b02ca18). Топология = вариант A (оператор): пересборка staging ДО cutover, прод не трогаем in-place. Прод-флип остаётся тем же DNS-gated событием (reg.ru→89.253.255.94, хозяин сайта) из paused [tandemmebel-web-vds-deploy]. Этот таск готовит образ + перепрогоняет гейты.

Key files

  • ~/projects/tandemmebel.ru/apps/web/package.json:12 — пин @snollajs/snolla (сейчас 0.40.0, нужен 0.42.0)
  • ~/projects/tandemmebel.ru/deploy/Dockerfile — multi-stage node:22-slim build
  • host-stacks/vds-kzntsv/tandemmebel.compose.yml — Portainer стек 20, source-of-truth (staging-host; боевые Host() только в cutover-комменте)
  • .wiki/concepts/labtools.pro-vds-deploy-runbook.md — рунбук-зеркало

Decisions log

  • 2026-07-04: BLOCKED на входе. Проверил репо-провенанс: snolla-репо на 0.42.0 (bcee2d4, опубликовано), НО tandemmebel.ru origin/master 9fa30a7 пинит @snollajs/snolla 0.40.0 — консюмер-бамп 0.40→0.42 не закоммичен/не запушен (ни один реф не содержит 0.42/0.24). Byte-verify «199/199 на 0.42.0» из тела таски гонялся против непушнутого локального бампа. Запросил у dev-source (victor/snolla inbox) коммит-бамп + sha. Peer-дисциплина: заявленный state таски ≠ реальность репо → репорт оператору, не проглатывать.
  • 2026-07-04: Топология A ратифицирована оператором+workshop. Cutover остаётся DNS-gated (внешнее событие).

Open questions

  • Опубликован ли @snollajs/snolla@0.42.0 в verdaccio/registry так, что yarn install в docker-build его резолвит? (snolla commit говорит «published» — проверить при build)
  • Развести с paused [tandemmebel-web-vds-deploy] — пометить старый пин суперсиженным, не плодить два конкурирующих образа.

Completed steps

  • Вызваны обязательные скилы (using-tasks, project-discipline, using-vds-ops).
  • Репо-провенанс проверен — блокер выявлен (консюмер-пин не запушен).
  • Запрос на пуш бампа отправлен dev-source (victor/snolla).

Notes

  • Acceptance (из тела таски на борде): (1) pre-deploy SSR /projects+blog-listing → 200 не 500 (новые SELECT-колонки); (2) completeness-DoD перепрогнать на НОВОМ 0.42.0-образе (188 URL + gallery grid 15 роутов), не наследовать GREEN с 0.16.2; (3) archive-страницы НЕ блокер (projects archivesPath=""); (4) rollback наготове.
  • Build-рецепт: git -C ~/projects/tandemmebel.ru archive <sha> | ssh vitya@89.253.255.94 tar -x; docker build -f deploy/Dockerfile --build-arg VERDACCIO_TOKEN -t registry.kzntsv.site/tandemmebel:<sha> . && push. Portainer PUT/POST через curl -X + node (НЕ PS Invoke-RestMethod).
  • Smoke гнать С VDS (воркстейшн ловит LAN-DNS-перехват прод-доменов).
  • Notify: OpeItcLoc03/workshop (оркестратор) + heads-up victor/snolla (dev-source).