28 lines
1.4 KiB
Docker
28 lines
1.4 KiB
Docker
# Используем образ Maven с JDK 11 для этапа сборки
|
||
FROM nexus.essocode.ru/adoptopenjdk/maven-openjdk11 AS builder
|
||
# Создаем рабочую директорию
|
||
WORKDIR /app
|
||
# Копируем настройки Maven
|
||
COPY ./build/settings.xml /usr/share/maven/conf/
|
||
# Добавляем файл pom.xml
|
||
ADD ../pom.xml /app
|
||
# Запускам проверку Maven
|
||
RUN mvn verify --fail-never
|
||
# Добавляем все файлы проекта
|
||
ADD .. /app
|
||
|
||
# Выполняем сборку приложения
|
||
# RUN mvn clean package -DskipTests -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
|
||
RUN --mount=type=cache,id=m2-cache,sharing=shared,target=/root/.m2 mvn clean package -U -s /usr/share/maven/conf/settings.xml
|
||
|
||
# Используем образ Liberica JDK 11 для самого сервиса
|
||
FROM nexus.essocode.ru/bellsoft/liberica-openjdk-debian:11
|
||
# Указываем переменную JAR_FILE, которая будет хранить путь к JAR файлу после сборки
|
||
ARG JAR_FILE=target/*.jar
|
||
# Копируем JAR файл из этапа сборки (builder) в текущий образ
|
||
COPY --from=builder /app/${JAR_FILE} /app/emulator.jar
|
||
# Устанавливаем точку входа для контейнера, чтобы приложение запускалось при старте контейнера
|
||
WORKDIR /app
|
||
|
||
ENTRYPOINT ["java", "-jar", "/app/emulator.jar"]
|