diff --git a/Dockerfile b/Dockerfile index 4285a93..b1d1894 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,30 +1,27 @@ -# 1. Этап сборки (Build stage) на базе JDK 26 +# 1. Этап сборки FROM eclipse-temurin:26-jdk-alpine AS build WORKDIR /app -# Устанавливаем Node.js и npm, так как плагин node-gradle может попытаться -# скачать или использовать системный node (или настроим его под контейнер) +# Устанавливаем Node.js и npm RUN apk add --no-cache nodejs npm curl bash -# Копируем всё содержимое проекта +# Копируем весь проект (включая папку spring-angular-ui) COPY . . # Даем права на выполнение Gradle Wrapper RUN chmod +x gradlew -# Запускаем кастомные gradle-таски для сборки фронтенда и упаковки бэкенда. -# Плагин node-gradle сам установит нужную версию node/npm внутри сборщика Gradle, -# либо подхватит системный. Используем вашу задачу copyAngularBuild. +# Запускаем сборку Angular и упаковку Spring Boot RUN ./gradlew copyAngularBuild -x test --no-daemon RUN ./gradlew bootJar -x test --no-daemon -# 2. Финальный образ (Runtime stage) - легкий образ с Java 26 JRE +# 2. Финальный образ FROM eclipse-temurin:26-jre-alpine WORKDIR /app -# Копируем собранный Spring Boot jar-файл из этапа сборки +# Копируем собранный JAR COPY --from=build /app/build/libs/*.jar app.jar EXPOSE 8080