假设我有:
base_array:
-1
-2
我怎么能做这样的事情:
my_array: << base_array
-3
所以 my_array 是[1,2,3]
更新:我应该指定我希望扩展发生在 YAML 本身内部。
假设我有:
base_array:
-1
-2
我怎么能做这样的事情:
my_array: << base_array
-3
所以 my_array 是[1,2,3]
更新:我应该指定我希望扩展发生在 YAML 本身内部。
由于已经评论的问题#35存在,merge-keys <<
对您没有帮助。它仅将引用的键合并/插入到映射中(请参阅 YAML 文档合并)。相反,您应该使用序列并使用anchor &
和alias *
。
所以你的例子应该是这样的:
base_list: &base
- 1
- 2
extended: &ext
- 3
extended_list:
[*base, *ext]
将给出这样的输出结果(JSON):
{
"base_list": [
1,
2
],
"extended": [
3
],
"extended_list": [
[
1,
2
],
[
3
]
]
}
虽然不完全符合您的预期,但也许您的解析/加载环境可以将嵌套数组/列表展平为一个简单的数组/列表。
您可以随时在线测试 YAML,例如使用:
我需要做同样的事情,但要在 Azure DevOps Pipeline 上运行。特别是,我必须动态更新阶段依赖项。我是怎么做到的:
dependents: [Stage_A, Stage_B]
otherDependents: [Stage_C] # This needed to be added by policy to the pipeline's execution
dependsOn:
- ${{ each dependent in dependents }}:
- ${{ dependent }}
- ${{ each dependent in otherDependents }}:
- ${{ dependent }}
这样做会产生所需的设置:
dependents: [Stage_A, Stage_B]
otherDependents: [Stage_C] # This needed to be added by policy to the pipeline's execution
dependsOn:
- Stage_A
- Stage_B
- Stage_C
我动态地说是因为变量dependents
来自我必须附加的模板Stage_C
。