fix(devops): дополняем перенос deploy-obsidian.yml содержимым (#2416)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
Предыдущий коммит 7505dbc1 сделал только git mv (чистое переименование,
0 добавлений/удалений) — сам контент (history-комментарий, self-reference
путь триггера, README.md, docs/obsidian-livesync.md) остался в рабочем
дереве незакоммиченным. PR #2439 в текущем виде нёс только переименование
без сути фикса.
Дополнительно поправлена та же устаревшая .github/ ссылка в
.claude/rules/deploy.md (path-triggers таблица) — пропущена в первом проходе.
Refs #2416
This commit is contained in:
parent
7505dbc1c6
commit
ce2f3b7d02
4 changed files with 12 additions and 4 deletions
|
|
@ -27,7 +27,7 @@ Reference incident: PR #346 (2026-05-18) deploy → user сам нашёл prod
|
||||||
|
|
||||||
- `backend/**`, `frontend/**`, `Caddyfile`, `caddy/**`, `docker-compose.prod.yml`, `data/sql/**`, `ops/glitchtip-auth-forwarder/**`, `.forgejo/workflows/deploy.yml` → `deploy.yml` (main Site Finder stack)
|
- `backend/**`, `frontend/**`, `Caddyfile`, `caddy/**`, `docker-compose.prod.yml`, `data/sql/**`, `ops/glitchtip-auth-forwarder/**`, `.forgejo/workflows/deploy.yml` → `deploy.yml` (main Site Finder stack)
|
||||||
- trade-in изменения → `deploy-tradein.yml` (отдельный stack; paths-filter base = last deployed SHA → накопленный diff, fail-safe build-all)
|
- trade-in изменения → `deploy-tradein.yml` (отдельный stack; paths-filter base = last deployed SHA → накопленный diff, fail-safe build-all)
|
||||||
- `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh` → `.github/workflows/deploy-obsidian.yml`
|
- `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh`, `docs/obsidian-livesync.md` → `.forgejo/workflows/deploy-obsidian.yml`
|
||||||
- `docs/**` alone → НЕ триггерит деплой
|
- `docs/**` alone → НЕ триггерит деплой
|
||||||
|
|
||||||
## После изменения .env на VPS
|
## После изменения .env на VPS
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,14 @@ name: Deploy Obsidian
|
||||||
#
|
#
|
||||||
# Не пересобирает никаких Docker-образов (CouchDB официальный с DockerHub).
|
# Не пересобирает никаких Docker-образов (CouchDB официальный с DockerHub).
|
||||||
# Не трогает main-стек (backend / frontend / postgres / worker / beat / caddy).
|
# Не трогает main-стек (backend / frontend / postgres / worker / beat / caddy).
|
||||||
|
#
|
||||||
|
# ИСТОРИЯ (2026-07-05): жил в .github/workflows/ с момента миграции с GitHub
|
||||||
|
# (16.05.2026), помечен в README как «остался на GitHub» — но живого зеркала
|
||||||
|
# на github.com с настроенными секретами не оказалось: 0 запусков за всю
|
||||||
|
# историю Forgejo Actions (12000+ прогонов остальных workflow), контейнер
|
||||||
|
# не пересоздавался с 17.05 до ручного SSH-фикса 04.07. Перенесён сюда —
|
||||||
|
# единственная директория, которую реально исполняет этот инстанс.
|
||||||
|
# См. issue #2416.
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|
@ -17,7 +25,7 @@ on:
|
||||||
- "docker-compose.obsidian.yml"
|
- "docker-compose.obsidian.yml"
|
||||||
- "scripts/setup-couchdb.sh"
|
- "scripts/setup-couchdb.sh"
|
||||||
- "docs/obsidian-livesync.md"
|
- "docs/obsidian-livesync.md"
|
||||||
- ".github/workflows/deploy-obsidian.yml"
|
- ".forgejo/workflows/deploy-obsidian.yml"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@ docker-compose.uptime.yml Uptime Kuma мониторинг (status.gendsgn.ru
|
||||||
- [`.forgejo/workflows/ci.yml`](.forgejo/workflows/ci.yml) — на PR: ruff lint + mypy (selective strict) + pytest. Блокирует merge при провале.
|
- [`.forgejo/workflows/ci.yml`](.forgejo/workflows/ci.yml) — на PR: ruff lint + mypy (selective strict) + pytest. Блокирует merge при провале.
|
||||||
- [`.forgejo/workflows/deploy.yml`](.forgejo/workflows/deploy.yml) — main: триггер на `backend/**`, `frontend/**`, `Caddyfile`, `docker-compose.prod.yml`, `data/sql/**`. Build backend lean + worker-with-chromium + frontend → push в приватный GHCR → SSH `git reset --hard`, **auto-apply pending `data/sql/NN_*.sql` через `_schema_migrations`** (idempotent, см. ниже про миграции), sed `SENTRY_RELEASE=$IMAGE_TAG` в `backend/.env.runtime`, `compose pull && up -d`, `caddy reload`, `curl /health`.
|
- [`.forgejo/workflows/deploy.yml`](.forgejo/workflows/deploy.yml) — main: триггер на `backend/**`, `frontend/**`, `Caddyfile`, `docker-compose.prod.yml`, `data/sql/**`. Build backend lean + worker-with-chromium + frontend → push в приватный GHCR → SSH `git reset --hard`, **auto-apply pending `data/sql/NN_*.sql` через `_schema_migrations`** (idempotent, см. ниже про миграции), sed `SENTRY_RELEASE=$IMAGE_TAG` в `backend/.env.runtime`, `compose pull && up -d`, `caddy reload`, `curl /health`.
|
||||||
- [`.forgejo/workflows/deploy-tradein.yml`](.forgejo/workflows/deploy-tradein.yml) — tradein-mvp стек (отдельный пайплайн).
|
- [`.forgejo/workflows/deploy-tradein.yml`](.forgejo/workflows/deploy-tradein.yml) — tradein-mvp стек (отдельный пайплайн).
|
||||||
- [`.github/workflows/deploy-obsidian.yml`](.github/workflows/deploy-obsidian.yml) — obsidian (**остался на GitHub**): триггер на `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh`, `docs/obsidian-livesync.md`. Без сборки образов (couchdb:3 с DockerHub), SSH `compose up -d` + idempotent bootstrap (CORS, DB, лимиты).
|
- [`.forgejo/workflows/deploy-obsidian.yml`](.forgejo/workflows/deploy-obsidian.yml) — obsidian: триггер на `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh`, `docs/obsidian-livesync.md`. Без сборки образов (couchdb:3 с DockerHub), SSH `compose up -d` + idempotent bootstrap (CORS, DB, лимиты). *(до 2026-07-05 ошибочно лежал в `.github/workflows/` — там ни разу не исполнился, см. issue #2416; контейнер держался вручную.)*
|
||||||
|
|
||||||
**Forgejo Secrets / Variables:** `DEPLOY_HOST`, `DEPLOY_USER`, `DEPLOY_SSH_KEY`, `DEPLOY_PORT`. Сервер авторизуется в GHCR однократно через PAT с `read:packages`. `COUCHDB_USER`/`COUCHDB_PASSWORD` — в `backend/.env.runtime` на VPS (не в репе).
|
**Forgejo Secrets / Variables:** `DEPLOY_HOST`, `DEPLOY_USER`, `DEPLOY_SSH_KEY`, `DEPLOY_PORT`. Сервер авторизуется в GHCR однократно через PAT с `read:packages`. `COUCHDB_USER`/`COUCHDB_PASSWORD` — в `backend/.env.runtime` на VPS (не в репе).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ Obsidian-стек **отделён** от основного приложени
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Compose | `docker-compose.prod.yml` | `docker-compose.obsidian.yml` |
|
| Compose | `docker-compose.prod.yml` | `docker-compose.obsidian.yml` |
|
||||||
| Project | `gendesign` (`docker compose -p gendesign`) | `gendesign-obsidian` |
|
| Project | `gendesign` (`docker compose -p gendesign`) | `gendesign-obsidian` |
|
||||||
| Workflow | `.github/workflows/deploy.yml` | `.github/workflows/deploy-obsidian.yml` |
|
| Workflow | `.forgejo/workflows/deploy.yml` | `.forgejo/workflows/deploy-obsidian.yml` |
|
||||||
| Триггер push paths | `backend/**`, `frontend/**`, `Caddyfile`, main compose | `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh`, docs |
|
| Триггер push paths | `backend/**`, `frontend/**`, `Caddyfile`, main compose | `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh`, docs |
|
||||||
| Сервисы | backend, frontend, postgres, redis, worker, beat, caddy | couchdb |
|
| Сервисы | backend, frontend, postgres, redis, worker, beat, caddy | couchdb |
|
||||||
| Восстанавливается отдельно | ✓ | ✓ |
|
| Восстанавливается отдельно | ✓ | ✓ |
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue