4.0 KiB
stostayer-web-deploy-0-3-23
Status: done 🟢
Branch: master (victor/stostayer.new)
Where I stopped: ДЕПЛОЙ ЗАВЕРШЁН 2026-08-13. Образ docker.stostayer.ru/stostayer-web:0.3.23 (коммиты e5f7bd6+7e51cbf+d49b4bb, master-tip) собран, запушен (1 попытка, слои mostly already-exists → egress мал, бана нет), стек Portainer 16 передеплоен (0.3.22→0.3.23, HTTP=200, env re-supplied [] — у стека env и так пуст). Контейнер Up, RestartCount=0, старт чистый (Server listening :3000). Verify с хоста: calculator Focus II → 200 + баннер «актуальны при приобретении запасных частей (материалов) в компании Стайер» (grep=1); регресс / и /remont/to/auto/ford/focus/focus-ii-... → 200; Focus IV (exactPrices=0) → баннера НЕТ, алерт «уточняйте у наших мастеров» (grep=1) — ровно по письму. Откат: PUT стека 16 на 0.3.22 (тег на хосте), RTO ~30-60с.
Goal
Раскатать на прод www.stostayer.ru запрос их прогера (письмо .agents/inbox/2026-08-13T08-43-41Z-stostayer-new.md): calculator-баннер про цены при покупке запчастей + фикс краша (snolla loadCity/loadSite) + стек-фикс легаси сборки (явные vue/vuex/vue-router/mariadb deps, nmHoistingLimits).
Нюансы деплоя (важно для следующего раза)
- Offline-build (
enableNetwork: false) НЕ прошёл: в.yarn/cacheнет linux-бинарей@esbuild/linux-x64@0.21.5и@rollup/rollup-linux-x64-gnu@4.62.3(кэш с Windows-хоста). Yarn падаетYN0041 Invalid authentication (as an anonymous user)— verdaccio требует токен. - Фикс: временно в build-копию
.yarnrc.ymlвернуть строкуnpmAuthToken: "${VERDACCIO_TOKEN}"(перед build удалить/вернуть), вpackages/web/Dockerfileвременно добавитьARG VERDACCIO_TOKEN+ENV VERDACCIO_TOKEN=$VERDACCIO_TOKENпередRUN yarn install, собратьdocker build --build-arg VERDACCIO_TOKEN="$VERDACCIO_TOKEN". После build —git checkout -- .yarnrc.yml packages/web/Dockerfile. (Безопаснее: докинуть 2 зипа в cache.) - Portainer API с хоста:
base=http://<IP-portainer>:9000— порт обязателен (голый IP → curl на :80 → HTTP=000). IP портейнера:docker inspect portainer --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'→ 172.18.0.2. - Прод до этого деплоя был на 0.3.22 (не 0.3.20 как писал ранбук; вики отставала на 2 деплоя: 0.3.21/0.3.22 собраны 24.07).
- Деплой 0.3.22 (24.07) делался через pscp+
sudo docker load(БЕЗ push в :443 — бан-риск). Мой push 0.3.23 прошёл штатно — слои переиспользовались.
Decisions log
- 2026-08-13: offline-build vs сеть — выбран сетевой путь с временным токеном (cache-пополнение linux-бинарей сложнее, чем ARG/ENV на раз).
- 2026-08-13: push в registry выполнен (в отличие от деплоя 0.3.22 через pscp+load) — 1 попытка, слои already-exists, бан-риска нет.
Completed steps
- Письмо прогера прочитано (инбокс, доставка pi-расширением inbox-monitor).
- Build 0.3.23 (master e5f7bd6), restore .yarnrc.yml/Dockerfile.
- Push 0.3.23 → docker.stostayer.ru (1 попытка, digest sha256:c6650744e198...).
- Redeploy Portainer stack 16 (PUT, pullImage:true, env re-supply).
- Verify: баннер Focus II, регресс
/+ремонтная, Focus IV без баннера; логи чистые.