ci: move deploy pipeline to registry images
This commit is contained in:
+22
-7
@@ -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. Что нельзя забыть
|
||||
|
||||
|
||||
Reference in New Issue
Block a user