如何在YAML中正确引用数组以实现列表元素合并?
解决YAML数组引用展开问题
你当前的写法会把引用的整个数组作为单个元素插入,导致最终数组只有两个元素(一个嵌套数组+thing3)。要实现将引用数组的元素展开合并到目标数组中,分两种场景处理:
场景1:使用GitLab CI的!reference标签
去掉引用语句前的-,直接将!reference放在数组内与其他元素并列,这样引用的数组会被展开为独立元素:
.mylist: things: - thing1 - thing2 realthings: things: !reference [.mylist, things] - thing3
此时realthings.things会包含3个元素:thing1、thing2、thing3。
场景2:标准YAML(不使用自定义标签)
用锚点&定义可复用数组,再用别名*引用并展开:
.mylist: things: &things-collection - thing1 - thing2 realthings: things: *things-collection - thing3
同样能达到合并数组元素的效果。
内容的提问来源于stack exchange,提问作者Shaul Behr
相关产品推荐
相关产品推荐

