dockerfile-maven-plugin多模块配置方式

在maven多模块的项目使用dockerfile-maven-plugin插件时,如果只有一个模块需要打包docker镜像,在根目录下直接执行 maven dockerfile:build会提示其他模块没有dockerfile的解决办法。

父项目配置

build 标签中加入以下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>

<pluginManagement>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<configuration>
<contextDirectory>${project.basedir}</contextDirectory>
<repository>${docker.repository}/library/${project.artifactId}</repository>
<tag>latest</tag>
<dockerfile>${project.basedir}/Dockerfile</dockerfile>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
</configuration>
</plugin>
</plugins>
</pluginManagement>

pluginManagement 中只是声明了插件,在父项目的插件中配置 <skip>true</skip> 表示跳过所有模块

需要打包docker镜像的模块配置

在需要打包docker镜像的模块的pom.xml中加入以下配置

1
2
3
4
5
6
7
8
9
10
11
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<configuration>
<skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>

配置 <skip>false</skip> 表示不会跳过该模块

Dockerfile放到需要打包docker镜像的模块目录(和pom.xml同级)

  • Copyrights © 2020-2023 夕子学姐
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信