Files
admin/.tasks/stostayer-web-deploy-0-3-23.md

4.0 KiB
Raw Blame History

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 без баннера; логи чистые.