fix: set executable bit for gradlew

This commit is contained in:
2026-04-25 11:59:46 +03:00
parent 593d371c48
commit b5a8542d7b
+8 -7
View File
@@ -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"]