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

@@ -112,7 +112,7 @@ mkdir -p build/evidence
ensure_playwright_browsers
set +e
if host_playwright_usable; then
log "Запускаю Playwright на хосте (Chromium/Firefox/WebKit)..."
log "Запускаю Playwright в текущем окружении (Chromium/Firefox/WebKit)..."
(
cd e2e
LDD_WEB_URL="http://localhost:8090" \
@@ -123,10 +123,10 @@ if host_playwright_usable; then
else
version=$(playwright_version)
if [[ -z "$version" ]]; then
echo "WebKit не запускается на хосте, а версию Playwright определить не удалось." >&2
echo "WebKit не запускается в текущем окружении, а версию Playwright определить не удалось." >&2
E2E_STATUS=1
else
log "WebKit не запускается на хосте; запускаю Chromium/Firefox/WebKit в Docker-образе Playwright ${version}."
log "WebKit не запускается в текущем окружении; запускаю Chromium/Firefox/WebKit в Docker-образе Playwright ${version}."
docker run --rm --network host \
-v "$PWD:/work" \
-w /work/e2e \