From 231e074779b5958bff1d038a6b2ecb64d640caac Mon Sep 17 00:00:00 2001 From: OpeItcLoc03 Date: Mon, 29 Jun 2026 08:52:31 +0000 Subject: [PATCH] meta(tasks): create [deploy-pilonuxt-static-pages-robots] in OpeItcLoc03/admin --- .tasks/STATUS.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 083e0c4..41c0097 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -872,3 +872,38 @@ Approach ратифицирован человеком (вариант A): ко --- + +## ⚪ [deploy-pilonuxt-static-pages-robots] — Деплой pilonuxt master (commit `40bb383`, включает feature `b32808d`) на прод VDS. Новая фича: DB-backed staticPages + robots.txt через content-api (ADR-0009). Build образа из Gitea master → push в `registry.kzntsv.site/pilonuxt:` → перекат Portainer-стека 16 за Traefik. Детали: apps/web/.wiki/concepts/docker-deploy.md. + +## ⚠️ Критично перед билдом — форс-регенерация клиента +deps подняты: `@snollajs/snolla ^0.18`, `content-api ^0.13`, `content-api-client ^0.10`, `@snolla/site-schema-gen ^0.6`. Сгенерённый клиент `apps/web/src/generated/` получил НОВЫЕ методы `getStaticPage` / `getRobotsTxt`. `src/generated/` **gitignored** → его нет в Gitea, в build-контексте надо сгенерить заново именно schema-gen@0.6.0. +- **НЕ полагаться на ensure-schema skip-if-present:** если в рабочей папке остался `src/generated/` со старого деплоя (без новых методов) — postinstall его пропустит, соберётся СТАРЫЙ клиент, и server-код (`server/middleware/snolla-static-pages.ts`, `server/routes/robots.txt.get.ts`) упадёт на отсутствующих методах. +- Порядок: обновить master до `40bb383` → `yarn install` (тянет schema-gen 0.6 из verdaccio) → **`rm -rf apps/web/src/generated` → `yarn workspace nuxt-app schema-gen`** (нужен egress в MSSQL на build-prep) → docker build (context = корень монорепы, `-f apps/web/Dockerfile`). + +## Acceptance (smoke на проде после переката) +- `GET /robots.txt` → 200 `text/plain` из БД (полный robots с Yandex-секцией + Sitemap), НЕ старый allow-all плейсхолдер. +- `GET /yandex_a4e129ae82fc9db5.html` → 200 `text/html` (Yandex-верификация). +- `GET /googlec155573e2673fe09.html` → 200. +- `GET /nope-not-a-page.html` → 404 (Nuxt fall-through, не 500). +- `/` + `/catalog` → 200 (без регресса). +- Убедиться, что `/robots.txt` не перехватывается traefik/статикой поверх Nitro (раньше был `public/robots.txt` — удалён в этом релизе). + +## Обязательные скилы — вызвать до начала работы +- invoke `project-discipline` — дисциплина коммитов/пушей +- invoke `using-tasks` — управление статусом задачи +- invoke `using-vds-ops` — smoke контейнера/логов + HTTP-проверка прод-URL после переката +- invoke `using-projects-meta` — cross-project lifecycle/notify + +**TDD:** нет — ops/deploy, кода не пишем. +**Разрешения:** интерны: нет | автопуш: да +**weight:** needs-human (deploy-инфра: docker/traefik/Portainer) +**notify:** victor/pilorama98.ru + +**Status:** ready +**Where I stopped:** (not started) +**Next action:** git update master до 40bb383 → yarn install → ФОРС yarn schema-gen (0.6, новые методы клиента) → docker build из корня монорепы (-f apps/web/Dockerfile) → push registry → перекат Portainer-стека 16 → smoke acceptance +**Branch:** n/a +**Notify:** victor/pilorama98.ru + + +---