ci: изолировать пайплайны на отдельной VM

- Woodpecker workflows требуют агент с меткой isolation=dedicated-vm
- шаги выполняются в lms-ci:1 с nested dockerd, без хост-Docker сокета
- ci/Dockerfile: прогретый immutable-образ (Java, Python, Node, Gradle-кэш)
- ci-dind.sh поднимает dockerd внутри privileged-шага; ci-build-image.sh собирает образ
- deploy/WOODPECKER.md: отдельная VM, firewall, отсутствие production-секретов,
  trusted repo, чек-лист безопасности
This commit is contained in:
2026-10-28 22:50:23 +03:00
parent 685916c4bd
commit f3d614bb33
15 changed files with 287 additions and 137 deletions

View File

@@ -240,6 +240,8 @@ mutation, runtime + scale и browser E2E, затем финальный `evidenc
на каждом push/MR, после `check`;
- `release` — полный `ldd-release.sh` с Chromium/Firefox/WebKit и Node:
обязателен для тегов, для веток запускается вручную.
- workflows требуют метку `isolation=dedicated-vm`; агент работает на
отдельной VM, шаги — в `lms-ci:1` с nested dockerd и без хост-Docker сокета.
- smoke/release начинаются с `scripts/ci-preflight.sh`, который проверяет
Java 21, Docker Compose v2, Python 3, Node и Playwright.
- Первый реальный прогон на Woodpecker-агенте ещё не подтверждён; локальные
@@ -293,8 +295,8 @@ optional json fields`.
6. **Инвентаризация legacy-активов на production не выполнена.** UI, API и
скрипт готовы, но реальные файлы нужно привязать или удалить вручную.
7. **Первый CI-прогон не подтверждён.** Конфигурация `.woodpecker/` и
preflight готовы, но Woodpecker-сервер и local-backend агент ещё нужно
развернуть и проверить на первом push-MR и теге.
preflight готовы, но Woodpecker-сервер и Docker-backend агент на отдельной
VM ещё нужно развернуть и проверить на первом push-MR и теге.
8. **Полный release не на каждом коммите.** На push/MR идёт smoke,
а mutation/browser/scale — для тегов или вручную.
9. **Интеграция «Контингент» исключена из плана** — без нового ТЗ и доступа к