【问题标题】:Helm chart versions for CI/CDCI/CD 的 Helm 图表版本
【发布时间】:2019-01-14 18:19:03
【问题描述】:

我为我的 CI/CD 管道设置了一个 helm 存储库,但我遇到的一件事是 helm 的版本控制系统,它专注于语义版本控制系统,如 x.x.x

我希望能够指定“staging”、“latest”和“production”等标签,尽管我能够成功上传带有字符串版本的图表

NAME CHART VERSION APP VERSION chartmuseum/myrchart latest 1.0

任何实际访问图表的尝试都会失败,例如

helm inspect chartmuseum/mychart --version=latest

产生错误:

Error: failed to download "chartmuseum/mychart" (hint: running 'helm repo update' may help)

在开发的这个阶段,我真的不想进入受控语义版本控制,或者将哈希附加到版本的混乱。有什么方法可以让 helm 提取非语义标记的图表版本?

【问题讨论】:

    标签: kubernetes kubernetes-helm


    【解决方案1】:

    我的方法是,我不想在语义上对我的图表(和子图表)进行版本控制,根本不使用 helm 存储库,而只是从 git 中提取 CI/CD 中的整个图表。如果您将它们发布给更广泛的受众,这可能不适合您,但对于有权访问我们存储库的自己的 CI/CD,它就像魅力一样。

    【讨论】:

    • 我发现我可以简单地标记0.1.0-staging 之类的东西,这样可以省去一些小麻烦,并在执行更新策略时将关注点分开
    • 如果您只是使用 git repo 来存储图表,您如何对图表进行版本控制?
    • 我将它们存储在 git 中,对于这种方法 git == sha of commit == "version"。正如我最初所说的那样,这并不适用于所有情况,但在某些情况下它是最简单的。
    【解决方案2】:

    我发现了一些对我有用的东西。由于 semvar 允许您在 0.1.0-aebcaber 之类的最后一个数字之后附加值,因此我只使用 0.1.0-latest 并在上传时在 chartmuseum 中覆盖它。

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 2022-09-23
      • 2021-11-18
      • 2022-08-03
      • 1970-01-01
      相关资源
      最近更新 更多