From e03d5c504acb04b5e6d48d25c8522edd70d3c9a9 Mon Sep 17 00:00:00 2001 From: vitya Date: Thu, 18 Jun 2026 21:20:41 +0300 Subject: [PATCH] =?UTF-8?q?meta(tasks):=20block=20[deploy-pilorama-web-fro?= =?UTF-8?q?m-monorepo]=20=E2=80=94=20prod=20500=20from=20snolla=20dep=20co?= =?UTF-8?q?nflict?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .tasks/STATUS.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index d2ba1bf..bd479e1 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -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 + ---