fix: angular CLI
This commit is contained in:
+12
-9
@@ -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"]
|
||||||
Reference in New Issue
Block a user