From b5a8542d7b08e0d4201068d1d15db4c923012c16 Mon Sep 17 00:00:00 2001 From: Liosha Date: Sat, 25 Apr 2026 11:59:46 +0300 Subject: [PATCH] fix: set executable bit for gradlew --- Dockerfile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index b86494c..200c19e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # 1. Этап сборки (Build stage) FROM eclipse-temurin:17-jdk-jammy AS build -# Устанавливаем Node.js и npm для сборки Angular +# Устанавливаем Node.js и npm один раз RUN apt-get update && apt-get install -y curl \ && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ && apt-get install -y nodejs \ @@ -9,25 +9,26 @@ RUN apt-get update && apt-get install -y curl \ WORKDIR /app -# Сначала копируем только обертку Gradle для кэширования слоев +# Сначала копируем только файлы Gradle для кэширования слоев COPY gradlew . COPY gradle gradle RUN chmod +x gradlew -# Копируем всё остальное +# Копируем всё остальное (убедись, что .gitignore разрешает папку src и т.д.) COPY . . -# Запускаем твою главную "педаль" сборки -RUN ./gradlew copyAngularBuild_prod bootJar -x test +# Запускаем сборку ОДИН раз. +# Это соберет и фронтенд, и бэкенд в один JAR +RUN ./gradlew copyAngularBuild_prod bootJar -x test --no-daemon # 2. Финальный образ (Runtime stage) FROM eclipse-temurin:17-jre-jammy WORKDIR /app -# Копируем только собранный jar-файл +# Забираем собранный JAR из папки build/libs этапа build COPY --from=build /app/build/libs/*.jar app.jar EXPOSE 8080 -# Используем профиль prod для подхвата настроек базы +# Запускаем с активным профилем prod ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"] \ No newline at end of file