У меня есть многомодульный проект, настроенный с помощью maven.
/myProject
/module1
/target
pom.xml
/module2
/target
pom.xml
pom.xml
Родитель pom создает подмодули.
Использование com.spotify.dockerfile-maven-plugin Я хочу собрать все модули, создать образ докера и скопировать все JAR-файлы внутри этого образа.
Родитель пом
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>myTest</artifactId>
<name>test</name>
<version>0.0.1</version>
<packaging>pom</packaging>
<modules>
<module>module1</module>
<module>module2</module>
</modules>
</project>
Если я помещаю Dockerfile в корень / myProject, плагин жалуется, что Dockerfile для module1
нет
FROM openjdk:8-jdk-alpine
ARG JAR_FILE
COPY ${JAR_FILE} /home/xyz/jars
Плагин Maven:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<configuration>
<repository>mytest</repository>
<buildArgs>
<JAR_FILE>target/${project.artifactId}-${project.version}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
Это нормально работает с одним модулем, если я помещаю Dockerfile внутри этого модуля, но как это сделать с несколькими модулями и только с 1 Dockerfile?
Могу ли я собрать подмодули, а затем образ докера с одним mvn clean install
на родительском помпе?
Может быть, путем создания подмодуля только с pom и Dockerfile?