gpt4 book ai didi

azure-devops - helm 在 Azure DevOps 中使用 --set 覆盖列表值

转载 作者:行者123 更新时间:2023-12-04 14:17:20 32 4
gpt4 key购买 nike

如何在 Azure DevOps 中使用 --set param 覆盖 Helm 列表中的值?

values.yaml 中的简单用例:

environment:
- name: foo
value: override_me
- name: bar
value: override_me
- name: baz
value: override_me

deployment.yaml 文件中,我这样使用它:

        env:      
{{ toYaml .Values.environment | indent 10}}

有一件事是有效的,但不是真的:

环境[0].name=foo,environment[0].value=hello,{...}

此覆盖的问题是它会覆盖整个列表,即使我只想替换值 [0],而不是 [1][2]。此外,当我传递 url:s 或 int 时出现解析错误(不在本地主机上,仅在 AZ DevOps 上)——为了克服该配对错误,您可以使用 \" 转义它——但随后图表被弄乱了up - 即使它通过了验证。

DevOps pipe

那么,在我的 Azure DevOps helm 部署中,是否可以覆盖 env 列表?或者我是否需要将列表重组为单独的 key=value 对?

最佳答案

我在执行此操作时有过奇怪的经历,在 2 个类似的情况下,在一个情况下它替换了它们,在一个情况下覆盖了整个数组。所以在第二种情况下我必须做的是:

environment:
- name: v1
value: keep_me
- name: v2
value: keep_me
- name: v3
value: keep_me
- name: foo
value: override_me
- name: bar
value: override_me

我在 Azure Devops 中这样做:

--set environment[3].name=foo,environment[03.value=xxx

对于另一个我不必这样做的人,它很乐意只覆盖我输入的值。不知道为什么要这样做。

关于azure-devops - helm 在 Azure DevOps 中使用 --set 覆盖列表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990593/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com