【问题标题】:Pull images from gcr when tag name of the image is constantly changing当图像的标签名称不断变化时,从 gcr 中提取图像
【发布时间】:2018-11-21 09:07:26
【问题描述】:

我在 kubernetes 集群上创建了一个 jenkins 管道。

问题是在管道运行后,创建了一个带有新标签的图像。因此,我无法在部署 yaml 文件中对标签名称进行硬编码。

如何使用正确的标签提取图像?

【问题讨论】:

  • 为什么不读取管道中的文件名并将其传递给您的 yaml 文件或修改 yaml 文件以接受此文件名

标签: docker jenkins kubernetes containers jenkins-pipeline


【解决方案1】:

我认为正确的工作方式是始终推送带有标签的图像,另外推送一个标记为最新的(这将覆盖以前的最新)。

通过这种方式在您的 kubernetes yaml 中,您始终可以提取最新的。

【讨论】:

  • 在 DaemonSets i 中有点不同。即使它具有始终拉取功能,它也会缓存并且不会下载相同的标签图像。在 K8s 1.9.5 上测试。
  • 您需要在容器数据内而不是在规范数据内指定imagePullPolicy
【解决方案2】:

根据您给定的陈述和一些假设,您可以尝试重新编写 Jenkins 管道以添加更多标签:最新。

 stage('Push image') {

    docker.withRegistry('https://registry.hub.docker.com', 'docker-hub-credentials') {
        app.push("${env.BUILD_NUMBER}")
        app.push("latest")
    }

所以,我认为您的 yaml 现在将始终提取最新的图像。我希望这能解决您当前的问题。

【讨论】:

    猜你喜欢
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多