YAML 基础
工作流是用 YAML 文件编写的,这些文件的扩展名为 .yml
或 .yaml
。YAML(即 YAML Ain’t Markup Language)是一种数据序列化语言,旨在使人类能够直接编写和读取。它是 JSON 的严格超集,但使用语法上相关的换行和缩进来替代大括号。像 Markdown 一样,YAML 也非常适合与拉取请求一起使用,因为更改总是按行进行的。接下来,我们来看看一些 YAML 的基础知识,帮助你入门。
标量类型
单个值可以使用以下语法定义:
key: value
支持多种数据类型:
integer: 42
float: 42.0
string: a text value
boolean: true
null value: null
datetime: 1999-12-31T23:59:43.1Z
请注意,键和值可以包含空格,并且不需要使用引号。但你也可以使用单引号或双引号将键和值括起来:
'single quotes': 'have ''one quote'' as the escape pattern'
"double quotes": "have the \"backslash \" escape pattern"
跨多行的字符串(例如脚本块)使用管道符号(|
)和缩进:
literal_block: |
Text blocks use 4 spaces as indentation. The entire
block is assigned to the key 'literal_block' and keeps
line breaks and empty lines.
The block continuous until the next element.
集合类型
嵌套数组类型(也称为映射)在工作流中经常使用。它们使用两个空格的缩进:
nested_type:
key1: value1
key2: value2
another_nested_type:
key1: value1
序列在每个项目前使用短横线(-
):
sequence:
- item1
- item2
由于 YAML 是 JSON 的超集,你也可以使用 JSON 语法将序列和映射放在一行中:
map: {key: value}
sequence: [item1, item2, item3]
这些应该足以帮助你开始在 GitHub 上编辑工作流。如果你想了解更多关于 YAML 的内容,可以查看其规范,网址是 https://yaml.org/ 。接下来,我们来看看工作流语法。