简化配置文件

单的运用锚点和别名简化的例子如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# pull_request 和 push 事件的流水线完全一致,这种方式可以减少重复
.pipeline: &pipeline
  docker:
    image: node:22
  stages:
    - name: install
      script: npm install
    - name: test
      script: npm test

main:
  pull_request:
    - <<: *pipeline
  push:
    - <<: *pipeline

支持多级嵌套:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
.jobs: &jobs
  - name: install
    script: npm install
  - name: test
    script: npm test

.pipeline: &pipeline
  docker:
    image: node:22
  stages: *jobs

main:
  pull_request:
    - <<: *pipeline
  push:
    - <<: *pipeline

:::tip

以上是 YAML 自带特性,仅在解析单个YAML文件时有效,不能跨文件使用。

:::

文件引用

为了方便复用流水线配置,云原生构建 实现了以下特性:

  • include:可以跨文件引用流水线模板。
  • imports:可以跨文件引用变量。
  • optionsFrom:可以跨文件引用内置任务参数。
  • settingsFrom:可以跨文件引用插件任务参数。

详细文件引用说明见 文件引用

变量引用

为了解决YAML锚点和别名不能跨文件使用的问题。云原生构建 实现了以下特性:

reference: 可以跨文件按属性路径引用变量。

最后更新于