# Предварительно прогретый CI-образ для Woodpecker. # Сборка на CI VM (доверенный администратором коммит): # ./scripts/ci-build-image.sh lms-ci:1 # Образ содержит только зависимости; исходники в пайплайне берутся из checkout. FROM docker:27-dind RUN apk add --no-cache openjdk21-jdk python3 bash WORKDIR /opt/lms-warmup COPY gradle gradle COPY gradlew settings.gradle.kts build.gradle.kts gradle.properties ./ COPY buildSrc buildSrc COPY config config COPY libs libs COPY services services COPY web web # Прогреваем Gradle-кэш и плагины. Это ускоряет check/smoke/release, # при этом кэш остаётся внутри неизменяемого образа, а не в общем volume. RUN ./gradlew --no-daemon testClasses --console=plain # Исходники нужны были только для прогрева кэша; в образе их не оставляем. RUN rm -rf /opt/lms-warmup