fix(site): сборка runner переведена со Snap uv на venv
- Зачем: - Snap uv не запускался внутри ограниченного systemd-сервиса без cap_dac_override. - Что: - workflow переведён на постоянный Python venv с pinned requirements. - повторные сборки проверяют зависимости через pip без их переустановки. - Snap удалён из PATH runner, runbook дополнен python3-venv и описанием окружения. - Проверка: - от имени gitea-runner дважды выполнены pip install, pip check и mkdocs build --strict; второй запуск переиспользовал окружение. - обновлённый systemd unit прошёл systemd-analyze verify и успешно перезапущен.
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
- Пользователь сервиса: `gitea-runner`, без `sudo` и Docker.
|
||||
- Корень публикации: `/srv/de-roadmap`.
|
||||
- Хранение: текущий релиз и две предыдущие версии.
|
||||
- Окружение сборки: `/var/lib/gitea-runner/venvs/site`.
|
||||
|
||||
## Подготовка VPS
|
||||
|
||||
@@ -19,7 +20,7 @@
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install nginx certbot python3-certbot-nginx
|
||||
sudo apt-get install nginx certbot python3-certbot-nginx python3-venv
|
||||
```
|
||||
|
||||
Создать пользователя и каталоги:
|
||||
@@ -126,6 +127,13 @@ curl --header 'Host: de.dementev.space' http://127.0.0.1/
|
||||
После локальной проверки разрешить профили `Nginx Full` в UFW. До этого
|
||||
публичные порты `80/tcp` и `443/tcp` должны оставаться закрытыми.
|
||||
|
||||
## Окружение сборки
|
||||
|
||||
Скрипт `.gitea/scripts/build-site.sh` создаёт persistent venv при первом запуске
|
||||
и переиспользует его в следующих сборках. `pip install` выполняется каждый раз,
|
||||
чтобы применить изменения `.gitea/requirements-site.txt`, но уже установленные
|
||||
версии пакетов не переустанавливаются.
|
||||
|
||||
## DNS и TLS
|
||||
|
||||
1. Уменьшить TTL записи `de.dementev.space`.
|
||||
|
||||
Reference in New Issue
Block a user