feat(deploy): pilonuxt re-smoke GREEN on pilonuxt.vds.kzntsv.site (tag 3622662)
pilonuxt пофиксил дубль Vue в prod-бандле (resolutions @vue/*), тег 3622662 (36ec970 битый). Stack 16 перекатан. Smoke: / 200 SSR, /catalog 200 с товарами из CMS, картинки imgproxy 200 webp + статика 200, внешний доступ 200 cert valid. Остаток: contacts-form email (живой, держу) + cutover www.pilorama98.ru (решение vitya). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -490,7 +490,7 @@ vehicles-loader (stostayer) деплоится в Docker у клиента (lite
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔵 [deploy-pilonuxt-vds] — **Цель:** Собрать prod-образ нового Nuxt-фронта ПИЛОРАМА98 (`victor/pilonuxt`, master) и задеплоить на VDS как Portainer-стек за Traefik. Готово в репо: `Dockerfile` + `.dockerignore` в корне. Полный овнершип сборки и деплоя — на тебе (build → push в VDS-registry → Portainer stack), как books/stostayer.
|
## 🔴 [deploy-pilonuxt-vds] — **Цель:** Собрать prod-образ нового Nuxt-фронта ПИЛОРАМА98 (`victor/pilonuxt`, master) и задеплоить на VDS как Portainer-стек за Traefik. Готово в репо: `Dockerfile` + `.dockerignore` в корне. Полный овнершип сборки и деплоя — на тебе (build → push в VDS-registry → Portainer stack), как books/stostayer.
|
||||||
|
|
||||||
**Сборка:**
|
**Сборка:**
|
||||||
- `docker build --secret id=verdaccio_token,env=VERDACCIO_TOKEN -t <registry>/pilonuxt:<tag> .`
|
- `docker build --secret id=verdaccio_token,env=VERDACCIO_TOKEN -t <registry>/pilonuxt:<tag> .`
|
||||||
@@ -531,13 +531,15 @@ vehicles-loader (stostayer) деплоится в Docker у клиента (lite
|
|||||||
**weight:** needs-human (deploy-инфра)
|
**weight:** needs-human (deploy-инфра)
|
||||||
**notify:** victor/pilonuxt
|
**notify:** victor/pilonuxt
|
||||||
|
|
||||||
**Status:** blocked
|
**Status:** active
|
||||||
**Where I stopped:** pilonuxt починил Dockerfile (3 фикса) и запушил `registry.kzntsv.site/pilonuxt:36ec970`. Развернул Portainer stack id=16 на `pilonuxt.vds.kzntsv.site` (pre-pull на VDS т.к. registry-auth; Portainer API через свежий JWT — сохранённый PORTAINER_API_KEY протух 401). **Инфра зелёная**: контейнер Up/Listening :3000, cert LE валиден, traefik роутит, egress mssql:1433+smtp:465 OK, SSR hairpin self-call доходит. **НО app 500 на всех роутах** (`/`,`/snolla`,`/api/snolla`): `Cannot read properties of null (reading 'ce')` — тот же, что pilonuxt видел локально (мис-атрибутировал на egress). `/api/snolla` (server-route) тоже падает → баг в data-слое snolla, не рендер. Ошибка нигде не логируется (Nitro глотает; dev-mode throwaway stack тоже не отдал). Это app/build-баг, НЕ деплой. Inbox victor/pilonuxt отправлен (19:40) с доказательствами + что попробовать (sourcemaps/логирование в snolla-fetch).
|
**Where I stopped (2026-06-14 20:05):** RE-SMOKE ЗЕЛЁНЫЙ. pilonuxt пофиксил баг (дубль Vue в prod-бандле → `resolutions` форсят `@vue/*` в одну версию), запушил `registry.kzntsv.site/pilonuxt:3622662` (старый 36ec970 битый). Перекатил Portainer stack 16 на новый тег. Smoke: `/`→200 SSR (title рендерится), `/catalog`→200 с товарами из CMS (sequelize), картинки imgproxy→200 image/webp + статика 200 (assets-stub флаг НЕ задет — фото из bucket pilorama98), внешний доступ с дома 200 + cert LE valid. Остался 1 критерий: форма contacts→email НЕ гонял (живой email бизнесу, держу до отмашки vitya). Cutover www.pilorama98.ru — отдельный шаг, решение vitya.
|
||||||
**Next action:** Ждать app-фикс от pilonuxt → новый тег → `docker pull` на VDS + Portainer stack 16 update + пере-smoke. Стек оставлен поднятым для быстрой итерации.
|
**Next action:** (1) согласовать с vitya тест формы contacts (стрельнуть [SMOKE TEST] или закрыть по pilonuxt-verified); (2) по отмашке vitya — cutover www.pilorama98.ru (traefik rule → боевой Host + DNS reg.ru, снизить TTL заранее).
|
||||||
**Blocker:** pilonuxt дебажит SSR 500 `reading 'ce'` (data-слой snolla получает null) — source-level, их репо.
|
|
||||||
**Branch:** n/a
|
**Branch:** n/a
|
||||||
**Notify:** victor/pilonuxt
|
**Notify:** victor/pilonuxt
|
||||||
|
|
||||||
|
**(history)** Путь: ТЗ→pull→домен(temp). Мои 2 Dockerfile-бага (npmAlwaysAuth + COPY scripts/src-generated до install) → pilonuxt пофиксил +свой (build-time VERDACCIO_TOKEN default `${VAR:-}`) → образ `36ec970` битый: дубль Vue в prod-бандле давал SSR 500 `reading 'ce'` на всех роутах; диагностировал «инфра зелёная, баг в app»; pilonuxt нашёл (Vite дедупит Vue в dev, Nitro prod нет) → `resolutions` → `3622662` зелёный.
|
||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/pilonuxt / 2026-06-14T18:45:22.955Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/pilonuxt / 2026-06-14T18:45:22.955Z -->
|
||||||
<!-- activated: vitya@.admin-exec / 2026-06-14 / ТЗ получено, домен=temp-subdomain для smoke -->
|
<!-- activated: vitya@.admin-exec / 2026-06-14 / ТЗ получено, домен=temp-subdomain для smoke -->
|
||||||
|
<!-- re-smoke green: vitya@.admin-exec / 2026-06-14 20:05 / stack 16 = pilonuxt:3622662, infra+app green; pending: contacts-email test + cutover -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
services:
|
services:
|
||||||
pilonuxt:
|
pilonuxt:
|
||||||
container_name: pilonuxt
|
container_name: pilonuxt
|
||||||
image: registry.kzntsv.site/pilonuxt:238a820
|
image: registry.kzntsv.site/pilonuxt:3622662
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
|
|||||||
Reference in New Issue
Block a user