meta(tasks): block [deploy-pilorama-web-from-monorepo] — prod 500 from snolla dep conflict

Build+deploy mechanics solved (workspace Dockerfile, VDS-push for 499).
Prod 500: @snollajs/snolla@0.11.0 getSiteById (Sites model undefined),
nested under content-api@0.11.0 alongside direct snolla@0.16.0.
Rolled back to 19a4a84 (verified 200). Dep fix = web/snolla owner.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
vitya
2026-06-18 21:20:41 +03:00
parent d29dae1ea9
commit e03d5c504a

View File

@@ -794,7 +794,7 @@ Approach ратифицирован человеком (вариант A): ко
---
## [deploy-pilorama-web-from-monorepo] — Раскатать на прод текущий `apps/web` из монорепы `victor/pilorama98.ru` — содержит SEO on-page фиксы (тех-аудит 2026-06-18): `buildProductSeo` (172 товарных title+meta, commit `03c250b`) + `seoOverrides` (16 category/service title + 8 meta, commit `b73c7c8`). На проде их пока НЕТ.
## 🔵 [deploy-pilorama-web-from-monorepo] — Раскатать на прод текущий `apps/web` из монорепы `victor/pilorama98.ru` — содержит SEO on-page фиксы (тех-аудит 2026-06-18): `buildProductSeo` (172 товарных title+meta, commit `03c250b`) + `seoOverrides` (16 category/service title + 8 meta, commit `b73c7c8`). На проде их пока НЕТ.
**Ключевое — перенацелить источник сборки.** Пайплайн исторически собирал из `victor/pilonuxt` (см. web-вики `apps/web/.wiki/concepts/docker-deploy.md`). После консолидации 2026-06-18 код в `victor/pilorama98.ru/apps/web/` (Dockerfile приехал с subtree, там же). Сборку надо перенаправить: clone монорепы, build-контекст = `apps/web/`.
@@ -818,11 +818,13 @@ Approach ратифицирован человеком (вариант A): ко
**weight:** needs-human
**notify:** pilorama98.ru
**Status:** ready
**Where I stopped:** (not started) — делегировано из pilorama98.ru 2026-06-18; SEO-фиксы закоммичены в монореп, ждут раскатки на прод
**Next action:** Перенацелить deploy-пайплайн на монореп `victor/pilorama98.ru` (build-контекст `apps/web/`, Dockerfile там же), пересобрать образ (VERDACCIO_TOKEN build-secret, живой JWT, npmAlwaysAuth:true), задеплоить на VDS, smoke на проде (title ≤60 + уникальная meta на товарных/категориях).
**Status:** blocked
**Where I stopped:** Build-механика РЕШЕНА: (1) консолидация сделала проект yarn-workspace → переписал Dockerfile под workspace-сборку (контекст = корень монорепы, root `yarn.lock`+`.yarnrc.yml`+манифесты всех членов, `yarn workspace nuxt-app build`); образ собрался с 1-го раза. (2) push с дома ловит traefik-499 на `.output`-слое → `docker save | ssh vds docker load` + `docker push` С VDS (локально) — образ `registry.kzntsv.site/pilonuxt:ed6b37e` в реестре. (3) Деплой стека 16 (Portainer PUT, pullImage) прошёл. **НО smoke на проде → HTTP 500.**
**Blocker:** Рантайм-регресс в snolla-пакетах из монореп-лока. `apps/web` тянет `@snollajs/content-api@^0.11.0`, который nested-депом подтягивает **`@snollajs/snolla@0.11.0`** (рядом с прямым `@snollajs/snolla@0.16.0`). content-api зовёт `SitesService.getSiteById` из 0.11.0 → `Cannot read properties of undefined (reading 'findByPk')` (Sites Sequelize-модель не инициализирована) → весь SSR 500. **Откатил прод на `19a4a84` (verified 200).** Фикс версий snolla — зона web/snolla-владельца (пир + snolla upstream), не ops. Артефакты сборки (новый `apps/web/Dockerfile` + root `.dockerignore`) лежат в рабочем дереве монорепы, готовы к коммиту после фикса депов.
**Next action:** Пир/snolla: развести конфликт `@snollajs/content-api@0.11.0` × `@snollajs/snolla@{0.11,0.16}` (выровнять content-api под snolla 0.16, либо починить init Sites-модели в 0.11) → пересобрать → повторить деплой по готовому рецепту.
**Branch:** n/a
**Notify:** victor/pilorama98.ru
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/pilorama98.ru / 2026-06-18T17:44:33.214Z -->
<!-- blocked-by: vitya@.admin-exec / 2026-06-18 / build+deploy mechanics solved; prod 500 from @snollajs/snolla@0.11.0 getSiteById; rolled back to 19a4a84 (200) -->
---