29 lines
752 B
Docker
29 lines
752 B
Docker
# 1. Этап сборки
|
|
FROM eclipse-temurin:26-jdk-alpine AS build
|
|
|
|
WORKDIR /app
|
|
|
|
# Устанавливаем Node.js и npm
|
|
RUN apk add --no-cache nodejs npm curl bash
|
|
|
|
# Копируем весь проект (включая папку spring-angular-ui)
|
|
COPY . .
|
|
|
|
# Даем права на выполнение Gradle Wrapper
|
|
RUN chmod +x gradlew
|
|
|
|
# Запускаем сборку Angular и упаковку Spring Boot
|
|
RUN ./gradlew copyAngularBuild -x test --no-daemon
|
|
RUN ./gradlew bootJar -x test --no-daemon
|
|
|
|
# 2. Финальный образ
|
|
FROM eclipse-temurin:26-jre-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Копируем собранный JAR
|
|
COPY --from=build /app/build/libs/*.jar app.jar
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["java", "-jar", "app.jar"] |