我有泊塢撰寫下面的信息 映像文件:$ {DOCKER_REGISTRY}/MDM-elasticsearch:$ {SEARCH_IMAGE_VERSION}如何從Maven的設定值泊塢撰寫文件
我想設置與價值SEARCH_IMAGE_VERSION POM或從命令 mvn clean install -D {內部版本號}
我有泊塢撰寫下面的信息 映像文件:$ {DOCKER_REGISTRY}/MDM-elasticsearch:$ {SEARCH_IMAGE_VERSION}如何從Maven的設定值泊塢撰寫文件
我想設置與價值SEARCH_IMAGE_VERSION POM或從命令 mvn clean install -D {內部版本號}
您必須配置Resources to have filtering set to true幷包含您的文件。例如,如果您的碼頭工人撰寫文件位於src/main/docker/docker-compose.yml
,你可以有以下配置在你的pom.xml:
<project>
...
<build>
...
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
</resource>
...
</resources>
...
</build>
...
</project>
然後,您可以直接在你的POM中指定下的參數properties
如
<project>
...
<properties>
<DOCKER_REGISTRY>...</DOCKER_REGISTRY>
<SEARCH_IMAGE_VERSION>...</SEARCH_IMAGE_VERSION>
</properties>
...
</project>
或者直接在命令行上:
mvn clean install -DDOCKER_REGISTRY=... -DSEARCH_IMAGE_VERSION=...
當您運行mvn
命令每一個變量來表示與${...}
將被過濾並替換爲在pom或命令行中配置的值。默認情況下,輸出文件將在target/classes/docker-compose.yml
複製如果要指定其他輸出目錄,你應該配置一個Resources Plugin執行和指定outputDirectory
如:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-docker-compose</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/docker</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
注意,將在每一個過濾文件配置的目錄。如果您只需要過濾某些文件,請使用include
and exclude
parameters。