拿一个伞形图来说,伞形图,有一个子图,sub_chart:
伞图在 Chart.yaml 中定义如下依赖项:
apiVersion: v2
name: umbrella_chart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: 0.1.0
dependencies:
- name: sub_chart
version: "~0.1.0"
repository: "@local-development"
而 sub_chart 有一个 Chart.yaml 像:
apiVersion: v2
name: sub_chart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
maintainers:
- name: Me
appVersion: 0.1.0
作为我的 CI/CD 管道的一部分,我想在打包和推送之前将 Jenkins 内部版本号附加到 sub_chart 的版本号。这工作正常。对于 build 123,我最终将 0.1.0-123 版本推送到本地开发。
helm search repo --versions --devel
NAME CHART VERSION APP VERSION DESCRIPTION
local-development/sub_chart 0.1.0-123 0.1.0 A Helm chart for Kubernetes
但是,当我运行时,出现helm dep up umbrella_chart
以下错误:
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "local-development" chart repository
Update Complete. ⎈Happy Helming!⎈
Error: can't get a valid version for repositories sub_chart. Try changing the version constraint in Chart.yaml
我认为使用波浪号可以让 helm 使用 >0.1.0 和 <0.2.0 的任何图表版本?我是否需要在我的仓库中有一个 0.1.0 版本的 sub_chart 才能构建伞形图?它会在那个实例中使用正确的 0.1.0-123 版本的 sub_chart 吗?
谢谢你的帮助