- 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, чек-лист безопасности
27 lines
843 B
YAML
27 lines
843 B
YAML
# Полный release gate в изолированном Docker-in-Docker-шаге на отдельной VM.
|
||
# Запускается на тег или вручную. Хост-Docker сокет не монтируется.
|
||
labels:
|
||
isolation: dedicated-vm
|
||
|
||
when:
|
||
- event: [tag, manual]
|
||
|
||
steps:
|
||
- name: release
|
||
image: lms-ci:1
|
||
privileged: true
|
||
environment:
|
||
DOCKER_HOST: unix:///var/run/docker.sock
|
||
commands:
|
||
# ldd-migration-upgrade.sh сравнивает ветку с master; в CI клон может быть shallow.
|
||
- git fetch --unshallow origin || true
|
||
- git fetch origin master:refs/heads/master || true
|
||
- ./scripts/ci-dind.sh
|
||
- cd e2e && npm ci && cd ..
|
||
- ./scripts/ci-preflight.sh --release
|
||
- ./scripts/ldd-release.sh
|
||
|
||
concurrency:
|
||
limit: 1
|
||
group: lms-ci
|