- 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, чек-лист безопасности
10 lines
457 B
Bash
Executable File
10 lines
457 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Собирает предварительно прогретый CI-образ на CI VM.
|
|
# Образ immutable: исходники пайплайна берутся из checkout, кэш Gradle — из образа.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
tag="${1:-lms-ci:1}"
|
|
docker build -f ci/Dockerfile -t "$tag" .
|
|
echo "Готово: $tag"
|
|
echo "Образ используется в .woodpecker/*.yaml как image: $tag"
|