azure - 在 azure 管道任务 HelmDeploy@0 中引用 helm 集的值
问题描述
我正在尝试部署一个位于 repo 中的掌舵图。
- task: HelmDeploy@0Chart"
inputs:
...
overrideValues: |
foo.bar="$(VAL_A)"
fiz.faz="$(VAL_B)"
它放在一起的命令如下所示。
helm upgrade \
--install
--set foo.bar=baz,fiz.faz=with space \ # this whitespace is the culprint
--wait \
myapp ./helm-chart/
我得到的错误是这个。
Error: "helm upgrade" requires 2 arguments
Usage: helm upgrade [RELEASE] [CHART] [flags]
我发现我在本地得到了同样的错误,当我没有在--set flag
.
--set foo.bar=baz,fiz.faz=with space
我从一个注入管道的秘密中获取这些信息。我如何确保它们被引用?
请注意,更改这些顺序并没有帮助。我也尝试过双引号
fiz.faz=""$(VAL_B)""
但似乎所有引号都被删除了。
解决方案
- Helm 升级需要发布名称和它引用的图表。希望你已经检查过了。
- 有时可能是由于不同的 Helm 版本,甚至是在 --set 标志中没有正确引用变量(检查分配的变量的拼写)。
overrideValues
字段可能不接受多行覆盖变量。
根据 文档,多个值应该用逗号分隔 key1=val1,key2=val2。
前任:
overrideValues : 'foo.bar=$(VAL_A),fiz.faz=$(VAL_B)’
对于单值
前任:
overrideValues: 'foo.bar=$(value)'
您可以尝试使用 arguments 字段并将变量作为参考 2 传递。
arguments: >
--set foo=bar
--set foo1=bar1
--set foo2=bar2
另请参阅设置的格式和限制
参考:
推荐阅读
- php - 我可以在 WordPress 上将多个 CDN 与 WP Fastest Cache 一起使用吗?
- python - 如何将文件的所有重复行复制到 Python 中的新文件?
- clock - Labview 实现数字时钟
- javascript - 将 JQuery 添加到 Intellij
- javascript - 如何在 create-react-app 项目中重命名 index.html?
- php - Laravel 和客户端数据表
- c# - 将 Redis 缓存与实体框架一起使用
- django - 使用 Q 对象行为应用自定义 mixin 和查找
- php - 如何在php中的where子句,orderby和desc中通过user_id显示表中的用户数据
- javascript - ./src/components/index.js 未找到模块:无法解析“/src/components”中的“./{Component}”