Fabric8 docker-maven-plugin:在构建时包含额外的标签



我在我的pom中配置了fabric8 docker-maven-plugin.xml如下所示:

  <build>
    ...
    <plugins>
      ...
      <plugin>
        <groupId>io.fabric8</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>${docker.plugin.version}</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>build</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <images>
            <image>
              <name>${docker.image.prefix}/${project.artifactId}:%l</name>
              <build>
                <dockerFile>Dockerfile</dockerFile>
                <assembly>
                  <descriptorRef>artifact</descriptorRef>
                </assembly>
              </build>
            </image>
          </images>
        </configuration>
      </plugin>
      ...
    </plugins>
    ...
  </build>

我正在使用%l占位符,如果版本包含-SNAPSHOT,则用latest标签标记图像,否则它使用pom版本。从 CI 构建时,我想在我的图像中包含一些额外的标签(可能不止一个((例如内部版本号/分支名称(,但我想保留%l占位符行为。我认为应该可以从命令行使用 maven 属性,但我无法从插件文档中弄清楚(https://dmp.fabric8.io/(

如何在执行 docker:build 目标时包含其他标签?

您可以使用

<tags>标签:

https://dmp.fabric8.io/#build-configuration

<properties>
  ...
  <!-- set default -->
  <docker.image-tag>${project.version}</docker.image-tag>
  ...
</properties>

<image>
  ...
  <name>repo/something/%a:%l</name>
  <build>
    ...
    <tags>
      <tag>${docker.image-tag}</tag>
    </tags>
    ...
  </build>
  ...
</image>

这将使用%l行为和自定义设置${docker.image-tag}标记图像。

mvn docker:build -Ddocker.image-tag=mytag

相关内容

  • 没有找到相关文章

最新更新