如何在YAML中重用列表条目锚点?

时间:2019-09-24 08:14:23

标签: yaml anchor circleci

我正在尝试编写一个CircleCI配置,该配置将允许我重用列表中的单个条目(例如使用的docker映像)而不是重用整个条目(例如完整的docker部分定义)

假设我需要在几个地方重用alpine的图片

docker:
  - image: alpine:3.10
    environment:
      LATENCY: 0

我希望能够定义不同的堆栈:

docker:
  - image: postgres:12
  - image: spotify/kafka:latest
  - image: redis:2.8.23

并将上面定义的alpine图片放在此列表中。

我尝试过

docker:
  - &default image: alpine:3.10
    environment:
      LATENCY: 0

build-step:
  docker:
    - *default
    - image: postgres:12

但这不起作用。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您这样做:

docker:
  - &default image: alpine:3.10
    environment:
      LATENCY: 0

然后锚点default将指向字符串alpine

如果要为映射(或序列)创建锚,则该锚必须位于其自己的行上:

docker:
  - &default
    image: alpine:3.10
    environment:
      LATENCY: 0

然后您可以像以前一样使用它:

build-step:
  docker:
    - *default
    - image: postgres:12