Repository navigation
Деплой: выкладка клиента на свой сервер скриптом web/deploy/deploy.sh - #49
Merged
Merged
Conversation
web/deploy/deploy.sh собирает web/dist и по ssh выкладывает на сервер (Ubuntu, nginx) в /var/www/underfire/dist с атомарной заменой; флаги --nginx (установка и конфиг сайта), --assets (сервер сам скачивает ассеты релиза через tools/fetch_assets.py), --status. Конфиг nginx — web/deploy/underfire.nginx.conf: сборка и /assets/, кэширование, gzip. Адрес сервера и домен — UF_DEPLOY_HOST и UF_DOMAIN в .env (.env.example, .env в .gitignore). README — раздел «Деплой», CONTRIBUTING — про .env.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что сделано
web/deploy/deploy.sh— выкладка на свой сервер (Ubuntu, nginx) по ssh, в том же стиле, что деплой бота в undercontrol: адресUF_DEPLOY_HOSTи доменUF_DOMAINберутся из.env. Собираетweb/dist, заливает tar-потоком в/var/www/underfire/dist.newи атомарно подменяетdist. Флаги:--nginx(поставить nginx, обновить конфиг сайта, отключить стандартныйdefault),--assets(сервер сам скачивает ассеты релизаassets-v1.3.12скриптомtools/fetch_assets.pyв/var/www/underfire/assets, с компьютера уходит только сборка),--status.web/deploy/underfire.nginx.conf— сайт на 80-м порту: сборка в корне,/assets/через alias, gzip для JSON/JS/CSS,static/с хэшами кэшируется на год,index.htmlне кэшируется, ассеты — 7 дней.__DOMAIN__подставляется из.envили_..env.example,.envв.gitignore; README — раздел «Деплой» и строка в структуре; CONTRIBUTING — про.env.Зачем
Проект договорились размещать на сервере проекта Under Control. Схема повторяет уже работающий там
bot/deploy/deploy.sh: один скрипт с локальной машины, без секретов в CI.Как проверено
bash -n, отказ без.envи на неизвестный флаг.ssh, выполняющей команды в контейнере: сборка выложилась в/var/www/underfire/dist, повторный прогон заменил старую сборку целиком,--statusотработал.python3 tools/fetch_assets.py --only json --out <каталог>кладёт ассеты в произвольный каталог (так скрипт делает на сервере).nginx -tв контейнере не удалось (apt недоступен): он проверяется при первомdeploy.sh --nginx, гдеnginx -tидёт доreload.Generated by Claude Code