【问题标题】:Update version in pom with helm使用 helm 在 pom 中更新版本
【发布时间】:2021-01-01 02:42:58
【问题描述】:

我希望只更新一个应用程序版本字段。 目前在 maven 的 pom.xml 中,我有像往常一样的版本:

<version>1.1.0</version>

我希望该字段继承自 Helm 的 Chart.yaml appVersion 属性。

appVersion: 1.1.0

这可以通过 Helm 模板或其他方式完成吗?

【问题讨论】:

    标签: maven version kubernetes-helm


    【解决方案1】:

    您可以在此处的验证阶段使用 maven-resources-plugin 将掌舵图从一个文件夹复制到另一个文件夹。假设您在模板文件夹中有带有占位符的 helm chart,并且在运行 helm 命令时您可以指向 app 文件夹。

    因此模板文件夹中的值文件可以包含占位符

    image:
      tag: application-${project.version}
    

    pom.xml 应该包含一个启用过滤的 maven-resources-plugin。

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <goals>
            <goal>resources</goal>
        </goals>
        <executions>
            <execution>
                <id>copy-resources-helm-deployment</id>
                <phase>validate</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <outputDirectory>k8s/app</outputDirectory>
                    <resources>
                        <resource>
                            <directory>k8s/app/values_templates</directory>
                            <filtering>true</filtering>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    当执行 mvn clean process-resources 时,它将复制 k8s/app(输出目录)中的值文件,并将项目版本替换为 pom 版本。

    有关 maven 资源插件 https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html 的更多信息,请参阅这里

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 2015-04-01
      • 2017-10-25
      相关资源
      最近更新 更多