写作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文档。
- 如果你不确定你是否
config.yml
YAML是有效的,通过验证程序运行。
CircleCI还开发了“球体”,它使您可以使用配置元素的预配置和测试包,你可以在你的配置工作流程中使用。利用DRY(不要重复自己),天体使您能够快速,轻松地将配置元素(工作,执行人,命令)在您的工作流程。有关天体的详细信息: