如何在YAML中配置别名?

如何在YAML中配置别名?,yaml,circleci,Yaml,Circleci,我正试图在YAML文件中写入一些别名,但一直出现错误。如何在YAML中配置别名 ...rest_of_code # DEFAULTS checkout-and-attach: &checkout-and-attach checkout: path: ~/app attach_workspace: at: ~/app # iOS Build and Test build-and-test: macos: xcode: "10.2.0"

我正试图在YAML文件中写入一些别名,但一直出现错误。如何在YAML中配置别名

...rest_of_code

# DEFAULTS

checkout-and-attach: &checkout-and-attach
  checkout:
    path: ~/app
  attach_workspace:
    at: ~/app


# iOS Build and Test
  build-and-test:
    macos:
      xcode: "10.2.0"
    working_directory: ~/app/ios
    steps:
      <<: *checkout-and-attach  # [ERROR]: Incorrect type expect array


...rest_of_code
…代码的剩余部分
#默认值
签出并附加:&签出并附加
结帐:
路径:~/app
附加工作区:
地址:~/app
#iOS构建和测试
构建和测试:
马科斯:
xcode:“10.2.0”
工作目录:~/app/ios
步骤:

我没有找到用circleci传播数组的方法。 此外,我认为参考资料部分必须在作业部分之前

使用config.yml和参考的示例:

version: 2
references:
  init_aws: &init_aws
    run:
      name: Init aws credentials
      command: echo 1
  init_env_vars: &init_env_vars
    run:
      name: Init environment variables
      command: echo 2
jobs:
  build:
    docker:
      - image: circleci/node:8.11.3
    steps:
      - *init_aws
      - *init_env_vars

这是一个格式正确的YAML。您的问题在于它的解释:显然,无论是谁在读它(CircleCI?),都希望您提供一个数组,其中您提供的东西不是数组。具体来说,如果错误发生在该位置,
签出并附加
(因此也包括
步骤
)是一个对象,而不是数组<代码>-我认为这不是有效的YAML。我刚刚粘贴了它,它报告了一个循环引用。cc@amadan不管它值多少钱,我发现CircleCI在YAML引用方面都非常好。我写的代码中包含了几个,它工作得很好。@halfer与JSON不同,YAML可以使用循环引用。它可能是无效的CircleCI配置,但它是有效的YAML。@Amadan:谢谢您的输入。我提出了一个稍微狭隘的观点,即在线解析器拒绝解析它,我认为这是一个警告信号。我对CircleCI的经验是,它能很好地处理参考资料——我想做的事情没有我做不到的。也许我的一些例子会对OP有所帮助。