YAML语法介绍
本文主要介绍YAML语法使用与说明。
基本结构
YAML是一种简洁的、易于阅读的数据序列化格式。它常用于配置文件,支持数据结构如映射(键值对)、序列(列表)和标量(单个值)。以下是YAML的一些基本语法介绍:
缩进:YAML使用缩进来表示层级关系,通常使用两个空格进行缩进,不推荐使用制表符。
冒号:用于分隔键和值,例如
key: value
。短横线:用于表示列表项,例如:
fruits: - apple - banana - orange
数据类型
标量:单个值,可以是字符串、整数、浮点数等。
name: John Doe age: 30
列表:有序的值的集合。
items: - item1 - item2 - item3
映射:键值对的集合。
person: name: John Doe age: 30
注释
使用
#
符号进行注释。# This is a comment name: John Doe # This is also a comment
引用
使用
&
和*
进行锚点和别名。defaults: &defaults timeout: 30 retries: 3 task1: <<: *defaults name: Task 1 task2: <<: *defaults name: Task 2 timeout: 60
复杂结构
YAML支持嵌套的复杂结构。
services: web: build: . ports: - "5000:5000" db: image: postgres environment: POSTGRES_PASSWORD: example
示例:GitHub Actions工作流配置
以下是一个简单的GitHub Actions工作流配置示例,展示了YAML的使用:
name: CI on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: java-version: '11' distribution: 'adopt' - name: Build with Maven run: mvn -B package --file pom.xml
在这个示例中:
通过掌握这些基本的YAML语法,可以有效地编写和管理各种配置文件和数据交换格式。
name
是工作流的名称。on
定义了触发流水线的事件。jobs
定义了流水线中的作业,每个作业包含多个步骤。