写作YAML

本文档描述了在CircleCI配置中使用的YAML最重要的特性。

概观

YAML是一种对人友好的数据序列化标准,适用于所有编程语言。它是严格的超集JSON另一个数据序列化语言。这意味着它可以尽一切JSON可以...等等。

CircleCI配置存储在位于的单个YAML文件中~ / .circleci / config.yml,其中~是项目目录的根目录。由于您使用CircleCI的大部分工作都发生在这个文件中,所以理解YAML格式化的基础知识非常重要。

如何写YAML

YAML文件的基本结构是哈希表由一个或多个键值对组成。

关键:

通过缩进嵌套的键,可以将另一个键值对设置为值。

关键:another_key:另一个价值”

多行字符串

如果该值是一个多行字符串,可使用>字符,后面跟任何数量的行。这是一个冗长的命令特别有用。

三行俳句诗:>请考虑我作为一个热爱诗歌的人哦,和柿子。

请注意:在使用多行字符串时,引号是不必要的。

序列

键和值不限于标量。您也可以映射一个标量的序列。

标量:-从来没有----向上

序列中的项也可以是键-值对。

模拟:-:一个模拟”-没有:a_glitch:矩阵”

请注意:记住正确缩进键 - 值对时,它是一个项目的序列中的值。

锚和别名

你的config.yml,使用锚和别名。锚由&字符和别名*的性格。

首歌:-的名字艾尔--能够-调用--*名称

当YAML解析器读取上述列表时,文本输出如下所示。

首歌:-艾尔--能够-调用--艾尔

合并地图

锚和别名可用于标量值,但要保存映射或序列,请使用<<注入的别名。

默认的:默认的学校:霍格沃茨掠夺:<<:*默认:格兰芬多德拉科:<<:*默认:斯莱特林

您还可以合并多个地图。

名称:&harry_namefirst_name:掠夺last_name:制陶工人地址:&harry_address:4,女贞路:小惠金区:萨里国家:英格兰harry_data:<<:(* harry_name,* harry_address]

请注意:如在一个YAML存储库问题,可以合并图,但不是序列(也称为阵列或列表)。

对于更复杂的例子,见这个要点

另请参阅

虽然YAML还有其他一些特性,但上面的示例应该足以让您开始使用YAML并使您的CircleCI配置简洁。如果你渴望更多的知识,这里有一些想法。

CircleCI还开发了“球体”,它使您可以使用配置元素的预配置和测试包,你可以在你的配置工作流程中使用。利用DRY(不要重复自己),天体使您能够快速,轻松地将配置元素(工作,执行人,命令)在您的工作流程。有关天体的详细信息:

  • 请参阅宝珠介绍,以了解球体的高级概述。
  • 请参阅使用魔法球,更多有关如何使用现有的球体。
  • 请参阅创建球体,您将在其中找到如何创建自己的orb的详细说明。
  • 请参阅重用配置有关可重用球体、命令、参数和执行器的详细示例。
  • 对于YAML的更详尽的概述,Y中纪要了解X有一个伟大的总结