This commit is contained in:
2026-09-28 21:06:35 +02:00
parent 6df4085858
commit 3a7fb6aa4f
+6 -9
View File
@@ -1,30 +1,27 @@
# 1. Этап сборки (Build stage) на базе JDK 26 # 1. Этап сборки
FROM eclipse-temurin:26-jdk-alpine AS build FROM eclipse-temurin:26-jdk-alpine AS build
WORKDIR /app WORKDIR /app
# Устанавливаем Node.js и npm, так как плагин node-gradle может попытаться # Устанавливаем Node.js и npm
# скачать или использовать системный node (или настроим его под контейнер)
RUN apk add --no-cache nodejs npm curl bash RUN apk add --no-cache nodejs npm curl bash
# Копируем всё содержимое проекта # Копируем весь проект (включая папку spring-angular-ui)
COPY . . COPY . .
# Даем права на выполнение Gradle Wrapper # Даем права на выполнение Gradle Wrapper
RUN chmod +x gradlew RUN chmod +x gradlew
# Запускаем кастомные gradle-таски для сборки фронтенда и упаковки бэкенда. # Запускаем сборку Angular и упаковку Spring Boot
# Плагин node-gradle сам установит нужную версию node/npm внутри сборщика Gradle,
# либо подхватит системный. Используем вашу задачу copyAngularBuild.
RUN ./gradlew copyAngularBuild -x test --no-daemon RUN ./gradlew copyAngularBuild -x test --no-daemon
RUN ./gradlew bootJar -x test --no-daemon RUN ./gradlew bootJar -x test --no-daemon
# 2. Финальный образ (Runtime stage) - легкий образ с Java 26 JRE # 2. Финальный образ
FROM eclipse-temurin:26-jre-alpine FROM eclipse-temurin:26-jre-alpine
WORKDIR /app WORKDIR /app
# Копируем собранный Spring Boot jar-файл из этапа сборки # Копируем собранный JAR
COPY --from=build /app/build/libs/*.jar app.jar COPY --from=build /app/build/libs/*.jar app.jar
EXPOSE 8080 EXPOSE 8080