From 42a1ca312f7e6a82c4a043b732ab5d9c77d3e983 Mon Sep 17 00:00:00 2001 From: shop Date: Sun, 17 May 2026 13:49:32 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D1=80=D0=B5=D0=BA=D0=BE=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B4=D1=83=D0=B5=D0=BC=D0=BE=D0=B5=20=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=87=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=20SHOP=5FROOT=20=D0=B8=20server-update.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- README.md | 15 +++++++++------ wiki/Home.md | 5 ++++- wiki/Server-Operations.md | 30 ++++++++++++++++++++++++------ 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1cf33cf..27cb719 100644 --- a/README.md +++ b/README.md @@ -125,12 +125,15 @@ cd "$SHOP_ROOT" sudo SHOP_INSTALL_DIR="$SHOP_ROOT" SHOP_GIT_URL="$SHOP_GIT_URL" bash scripts/quick-deploy-ubuntu.sh ``` -**Обновление** (сайт уже работает): +**Обновление** (сайт уже работает) — **лучше так** (из любого каталога): ```bash +export SHOP_ROOT=/opt/shop/shop10 bash "$SHOP_ROOT/scripts/server-update.sh" ``` +`SHOP_ROOT` — путь к клону с `package.json` (у вас может быть `/opt/shop` вместо `/opt/shop/shop10`). + Не копируйте в shell шаблоны вроде `` — это подсказки в тексте, не команды. Подробно: **[wiki/Server-Operations.md](wiki/Server-Operations.md)** (PostgreSQL PGDG, git, systemd, порт 3000). @@ -203,14 +206,14 @@ journalctl -u shop -n 5 --no-pager См. **[wiki/Server-Operations.md](wiki/Server-Operations.md)**. +**Рекомендуемый способ** (надёжнее, чем вручную `cd` и `git pull`): + ```bash -export SHOP_ROOT=/opt/shop -cd "$SHOP_ROOT" -bash scripts/git-sync.sh # если detached HEAD -bash scripts/server-update.sh +export SHOP_ROOT=/opt/shop/shop10 +bash "$SHOP_ROOT/scripts/server-update.sh" ``` -`WorkingDirectory` в `deploy/shop.service` = ваш `$SHOP_ROOT`. +`WorkingDirectory` в `deploy/shop.service` должен совпадать с `$SHOP_ROOT`. Скрипт: `git pull` → `npm install` → проверка PostgreSQL → `restart shop` → `curl /health` → `reload caddy`. diff --git a/wiki/Home.md b/wiki/Home.md index 9fde205..d0e3576 100644 --- a/wiki/Home.md +++ b/wiki/Home.md @@ -49,12 +49,15 @@ cd "$SHOP_ROOT" sudo bash scripts/quick-deploy-ubuntu.sh ``` -Обновление: +Обновление (рекомендуется): ```bash +export SHOP_ROOT=/opt/shop/shop10 bash "$SHOP_ROOT/scripts/server-update.sh" ``` +Путь `SHOP_ROOT` — ваш каталог клона (см. [Server-Operations](Server-Operations)). + ## Проверка ```bash diff --git a/wiki/Server-Operations.md b/wiki/Server-Operations.md index 4939462..0028711 100644 --- a/wiki/Server-Operations.md +++ b/wiki/Server-Operations.md @@ -37,18 +37,36 @@ sudo SHOP_INSTALL_DIR="$SHOP_ROOT" SHOP_GIT_URL="$GIT_REPO_URL" \ ## Обновление кода (сайт уже работает) +**Рекомендуется** — две команды (можно из любого каталога, не нужен `cd`): + +```bash +export SHOP_ROOT=/opt/shop/shop10 +bash "$SHOP_ROOT/scripts/server-update.sh" +``` + +Подставьте свой путь к клону (где лежит `package.json`). Часто это `/opt/shop` или `/opt/shop/shop10`. + +Почему так надёжнее, чем `cd /opt/shop && git pull`: + +- явно задан каталог репозитория (`SHOP_ROOT`); +- внутри выполняются `git-sync` (ветка `main`), `npm install`, перезапуск `shop`, проверка `/health`; +- не перепутаете родительскую папку без `package.json` и скриптов. + +Проверка после обновления: + +```bash +systemctl status shop +curl -s http://127.0.0.1:3000/health +``` + +Если git в detached HEAD отдельно: + ```bash cd "$SHOP_ROOT" bash scripts/git-sync.sh bash scripts/server-update.sh ``` -Или одной строкой (путь к скриптам в вашем клоне): - -```bash -bash "$SHOP_ROOT/scripts/server-update.sh" -``` - --- ## Скрипты в `scripts/`