0

次のようなプロジェクト構造があります。

module-1
    pom.xml
    Dockerfile
module-2
    pom.xml
module-3
    pom.xml
module-4
    pom.xml
    Dockerfile
pom.xml

module-2andはandmodule-3の依存関係ですmodule-1module-4

今、私は独立して展開module-4したいと考えています。module-1親の pom では、dockerfile-maven-plugin追加<skip>して true に追加しましたが、両方の子プロジェクトについてはskip、デプロイしたいので false にしています。ただし、module-1そのピッキング Dockerfileをデプロイしようとすると、 module-4. では、各モジュールがそれぞれの Dockefile を選択するようにプロジェクトを構成するにはどうすればよいですか

親ポンセクションは次のようになります。

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>1.3.6</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

両方の子の私の子 pom セクションは次のようになります。

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>1.3.6</version>
    <dependencies>
        <dependency>
            <groupId>jakarta.activation</groupId>
            <artifactId>jakarta.activation-api</artifactId>
            <version>1.2.2</version>
        </dependency>
    </dependencies>
    <configuration>
        <skip>false</skip>
        <repository>${docker.image.prefix}/${project.artifactId}</repository>
        <tag>${project.version}</tag>
        <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
        <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
        </buildArgs>
        <contextDirectory>${basedir}/</contextDirectory>
    </configuration>
</plugin>

また、jenkinsビルドでコマンドを実行しています:mvn -pl module-1,module-2,module-3 -am clean install

module-1 の Dockerfile は次のようになります

FROM openjdk:11-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} module-1.jar
CMD java $JVM_OPTS -Djava.security.egd=file:/dev/./urandom -jar /module-1.jar

助けが必要

4

2 に答える 2