Helm 依赖范围失败

问题描述 投票:0回答:1

取一张伞图,umbrum_chart,带有一个子图,sub_chart:

umbrella_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 的版本号中。这很好用。对于构建 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? Do I need to have a version 0.1.0 of sub_chart in my repo to be able to build umbrella_chart? Will it use the correct 0.1.0-123 version of sub_chart in that instance?

感谢您的帮助

kubernetes-helm helm3
1个回答
0
投票

似乎我的依赖项没有正确定义为接受预发布,我的修复基于this

我的新伞_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-0"
    repository: "@local-development"

并且它正确地获取了预发布版本。

© www.soinside.com 2019 - 2024. All rights reserved.