YAML 基础

工作流是用 YAML 文件编写的,这些文件的扩展名为 .yml.yaml。YAML(即 YAML Ain’t Markup Language)是一种数据序列化语言,旨在使人类能够直接编写和读取。它是 JSON 的严格超集,但使用语法上相关的换行和缩进来替代大括号。像 Markdown 一样,YAML 也非常适合与拉取请求一起使用,因为更改总是按行进行的。接下来,我们来看看一些 YAML 的基础知识,帮助你入门。

注释

YAML 中的注释以井号(#)开始:

# A comment in 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/ 。接下来,我们来看看工作流语法。