Commit Graph

5 Commits

Author SHA1 Message Date
Дмитрий ed94d0305e fix(ops): redeploy.sh — rm старых кэшей перед optimize → config.php владелец www-data
Прежний reorder (optimize последним) владельца НЕ менял: optimize перезаписывает
существующий config.php in-place (file_put_contents не трогает владельца) → оставался
ubuntu:www-data 775 (читаемо, портал работал, но комментарий врал про www-data).
Теперь rm config/routes/events перед optimize → www-data создаёт свежие как
www-data:www-data 664. Синкнут на прод (sha совпал). Главное по квирку 107 —
читаемость (валидатор П1 test -r), владелец вторичен.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 09:54:54 +03:00
Дмитрий c370ff8248 fix(ops): закрыть повтор квирка 107 — optimize последним в redeploy + валидатор проверяет читаемость
Accessibility (Pa11y live) / a11y (push) Has been cancelled
Проверено на боевом 25.06: config.php = ubuntu:www-data mode 775, www-data ЧИТАЕТ его
через группу, портал HTTP 200 — реального дефекта НЕТ. Квирк «лечили» несколько раз,
гонясь за строгой проверкой «владелец == www-data», тогда как важна читаемость.

Две первопричины повтора закрыты:
1. deploy/redeploy.sh: optimize перенесён в КОНЕЦ (после chown -R ubuntu:www-data
   bootstrap/cache). Раньше optimize шёл ДО chown'а → chown переписывал владельца
   свежего config.php обратно на ubuntu. Теперь кэши пишутся после chown и остаются
   www-data:www-data.
2. .claude/agents/prod-deploy-validator.md П1: критерий сменён на ЧИТАЕМОСТЬ www-data
   (sudo -u www-data test -r config.php) вместо строгого владельца. Владелец ubuntu при
   группе www-data+775 больше НЕ даёт ложный NO-GO. Свежесть (mtime ≥ .env, квирк 104)
   сохранена. Описание квирка 107 и формат рапорта обновлены.

Прод не трогали — он здоров. После следующего redeploy config.php станет www-data-owned.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 09:07:24 +03:00
Дмитрий 8f75ac0597 fix: синхронизация deploy/redeploy.sh с прод-фиксом sudo chmod + .gitattributes LF для .sh
Accessibility (Pa11y live) / a11y (push) Has been cancelled
SAST — Semgrep / Semgrep SAST scan (push) Has been cancelled
2026-06-24 16:54:45 +03:00
Дмитрий b808a24f78 deploy: выкат стека на прод 23.06 + фикс redeploy.sh composer-прав + снимок ПИЛОТ
Accessibility (Pa11y live) / a11y (push) Has been cancelled
Выкачен недеплоенный стек b11e1d97 балансовый блок плюс F/J плюс source-edit-lock
плюс ЮKassa спит флаг off. Миграция add_balance_transaction_id применена вручную
под postgres таблица crm_migrator-owned. Деньги клиента целы tenant 2
1836400 руб 1013 сделок эталон до==после. Квирк-107 ок очередь active HTTP 200.

Фикс redeploy.sh композер install от root COMPOSER_ALLOW_SUPERUSER плюс chown
vendor www-data баг положил прод в 500 на окно наката. README дополнен граблями
composer-прав opcache-рестарт и crm_migrator-миграций. Снимок ПИЛОТ обновлён.
cspell-words пополнен проектным жаргоном.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 19:50:40 +03:00
Дмитрий d568bf84eb chore(deploy): sync redeploy.sh from prod into repo
Канон рецепта server-side деплоя, который раньше жил только в /var/www/liderra/redeploy.sh.

- deploy/redeploy.sh — копия 1:1 текущей версии с боевого (квирк 107 фикс встроен:
  sudo -u www-data php artisan optimize).
- deploy/README.md — workflow деплоя (git archive + scp + bash redeploy.sh)
  и пояснение, что боевой остаётся source of truth для исполнения,
  репо — source of truth для рецепта.

При следующей правке скрипта на боевом — синкать обратно (sha-сверка).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 08:02:21 +03:00