ci: move deploy pipeline to registry images

This commit is contained in:
a.tolmachev
2026-03-31 09:22:54 +03:00
parent cb23f1eb96
commit 2db056817d
8 changed files with 124 additions and 29 deletions
+22 -7
View File
@@ -199,22 +199,37 @@ CI должен выполнять:
CD для MVP должен:
- запускаться только после успешного `CI` на `main` или вручную;
- собирать production artifacts;
- собирать versioned container images;
- пушить их в container registry с cache;
- доставлять deployment files на целевой Linux host;
- выполнять controlled restart;
- выполнять controlled restart через `pull`, без сборки на сервере;
- проверять health endpoints после запуска.
Минимальный flow:
1. push в `main`
2. успешный `CI`
3. build images или удаленная сборка на хосте
3. build and push images в registry
4. upload env и deployment files
5. `docker compose config -q`
6. `docker compose up -d`
7. healthcheck verification для `ui`, `admin-api`, `mcp-server`
5. `docker login` на registry на целевом хосте
6. `docker compose config -q`
7. `docker compose pull`
8. `docker compose up -d`
9. healthcheck verification для `ui`, `admin-api`, `mcp-server`
Для MVP допустим deployment с удаленной сборкой на целевом Linux host через `ssh + rsync + docker compose up -d --build`, если не используется отдельный container registry.
Для текущего проекта базовая рекомендуемая схема:
- `GHCR` как registry;
- versioned tags по `git sha`;
- `docker/buildx` cache в GitHub Actions;
- на сервере только `pull + restart`, без `docker compose up --build`.
Для private registry на сервере нужны отдельные deployment secrets:
- `DEPLOY_REGISTRY_USER`
- `DEPLOY_REGISTRY_TOKEN`
Они используются только для `docker login` на целевом Linux host перед `docker compose pull`.
## 12. Что нельзя забыть