【问题标题】:Jib: set repository depending on maven profileJib:根据 Maven 配置文件设置存储库
【发布时间】:2020-12-27 03:35:29
【问题描述】:

我有一个应用程序,我想根据正在运行的配置文件将其推送到存储库 AB

例如:

如果我在 Jenkins sh "./mvnw package -Pint verify -DskipTests jib:dockerBuild" 中运行它,它应该会推送到我们的集成注册表。

如果我在 Jenkins sh "./mvnw package -Pprod verify -DskipTests jib:dockerBuild" 中运行它,它应该会推送到我们的生产存储库。

我的 pom 是这样设置的:

<from>
    <image>adoptopenjdk:11-jre-hotspot</image>
</from>
<to>
    <image>${docker.repository.url}/${docker.image.prefix}/${project.artifactId}</image>
    <tags>
        <tag>${project.version}-${spring.profiles.active}-${git.commit.id.abbrev}</tag>
    </tags>
</to>

如何让它以这种特殊方式运行?

【问题讨论】:

  • 嘿!您是否在问如何根据配置文件具有不同的属性值? (例如不同的docker.repository.url
  • 这里发生了很多事情。我认为您需要与我们分享更多您的 pom。尤其是你的 pom 的 &lt;profiles&gt; 部分。
  • @Augusto 是的,这正是我想做的事情

标签: docker maven jenkins jhipster jib


【解决方案1】:

这很容易:D。您只需要在&lt;profile&gt; 部分内定义一个&lt;properties&gt; 部分。这些属性将在您运行指定的配置文件时添加(我强烈感觉它确实会覆盖全局 &lt;properties&gt; 部分中设置的任何属性)。

例如:

  <profiles>
    <profile>
      <id>int</id>
      <properties>
        <docker.repository.url>https://your.docker.registry</docker.repository.url>
      </properties>
    </profile>
  </profiles>

关于profiles documentation page 有更多信息,特别是可以在配置文件中使用哪些元素。

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 2021-08-17
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多