fix: angular CLI

This commit is contained in:
2026-04-25 12:28:20 +03:00
parent 725c5c3244
commit d5931fe97b
+12 -9
View File
@@ -1,7 +1,7 @@
# 1. Этап сборки (Build stage) # 1. Этап сборки (Build stage)
FROM eclipse-temurin:17-jdk-jammy AS build FROM eclipse-temurin:17-jdk-jammy AS build
# Устанавливаем Node.js и npm для сборки фронтенда # Устанавливаем Node.js
RUN apt-get update && apt-get install -y curl \ RUN apt-get update && apt-get install -y curl \
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
&& apt-get install -y nodejs \ && apt-get install -y nodejs \
@@ -9,23 +9,26 @@ RUN apt-get update && apt-get install -y curl \
WORKDIR /app WORKDIR /app
# Сначала копируем все файлы проекта # Копируем файлы проекта
COPY . . COPY . .
# КРИТИЧЕСКИ ВАЖНО: устанавливаем права сразу после копирования # КРИТИЧЕСКИ ВАЖНО:
# Это лечит ошибку "Permission denied" (exit code: 126) # 1. Даем права на запуск Gradle
RUN chmod +x gradlew RUN chmod +x gradlew
# Запускаем сборку один раз с флагом --no-daemon для стабильности в Docker # 2. Переходим в папку с фронтендом и устанавливаем зависимости
# Предполагаем, что фронтенд лежит в корне или папке jambotron-ui
# Если папка называется иначе, подправь путь:
RUN cd src/main/angular && npm install
# 3. Теперь запускаем общую сборку
# Gradle теперь найдет 'ng', так как node_modules будут готовы
RUN ./gradlew copyAngularBuild_prod bootJar -x test --no-daemon RUN ./gradlew copyAngularBuild_prod bootJar -x test --no-daemon
# 2. Финальный легковесный образ (Runtime stage) # 2. Финальный образ (Runtime stage)
FROM eclipse-temurin:17-jre-jammy FROM eclipse-temurin:17-jre-jammy
WORKDIR /app WORKDIR /app
# Копируем собранный JAR из первого этапа
COPY --from=build /app/build/libs/*.jar app.jar COPY --from=build /app/build/libs/*.jar app.jar
EXPOSE 8080 EXPOSE 8080
# Используем профиль prod для подхвата настроек базы в Хельсинки
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"] ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]