Files
jambotron/Dockerfile
T
2026-04-25 12:40:52 +03:00

32 lines
1.1 KiB
Docker

# 1. Этап сборки (Build stage)
FROM eclipse-temurin:17-jdk-jammy AS build
# Устанавливаем Node.js
RUN apt-get update && apt-get install -y curl \
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
&& apt-get install -y nodejs \
&& apt-get clean
WORKDIR /app
# Копируем всё содержимое проекта
COPY . .
# Даем права на запуск Gradle
RUN chmod +x gradlew
# --- ВОТ ТУТ ИСПРАВЛЕННЫЙ ПУТЬ ---
# Заходим в папку фронтенда, которую видно на скриншоте, и ставим зависимости
RUN cd jambotron-ui && npm install --legacy-peer-deps
# Теперь запускаем общую сборку
# Твой Gradle-таск 'copyAngularBuild_prod' должен использовать файлы из jambotron-ui/dist
RUN ./gradlew copyAngularBuild_prod bootJar -x test --no-daemon
# 2. Финальный образ
FROM eclipse-temurin:17-jre-jammy
WORKDIR /app
COPY --from=build /app/build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]