流水线任务编排
配置YAML流水线,需在yaml文件中配置“stage-job-step”结构。
YAML文件示例
stages: #流水线阶段务
test2: #阶段的唯一标识
name: 阶段_1 #阶段的名称
select: always #阶段是否总是运行
jobs: #流水线任务
job_1: #任务的唯一标识
name: 任务名称 #任务名称
if: ${{ default() }} #流水线阶段任务执行时需要满足的前提条件,默认值为${{ default() }}
runs-on: default
select: selected_by_default #任务选择的执行方式,默认为selected_by_default
needs: [ ] #依赖任务的唯一标识,依赖的任务需存在
steps: #定义组成任务的步骤
- name: step1 #步骤的名称
uses: official_devcloud_cloudBuild #插件信息,格式为插件名@插件版本。
env: #插件中的环境变量
test: test
test2: test2
with: #插件中输入的参数
key1: value1
key2: value2
job_2:
name: 任务名称2
if: ${{ default() }} }
runs-on: [ self-hosted, test2 ] #流水线任务支持的运行环境
select: selected_by_default
needs: [ job_1 ]
job_3:
name: 任务名称2
if: ${{ default() }}
runs-on: [ dedicated, arm_linux ]
select: selected_by_default
needs: [ job_2 ]
pre:
type: auto #阶段的准入类型
post: #配置阶段的准出任务
- name: step1
type: gate
with:
name: 创建策略-20250331212921
level: tenant
- name: step1
type: gate
with:
name: xxw-chqtest-test
level: project
post: #后处理阶段的唯一标识
name: 阶段名称 #后处理阶段的名称
select: always #后处理阶段是否总是运行,默认值为always
jobs:
job1:
name: 任务名称
if: ${{ default() }}
select: selected_by_default
needs: [ ]
steps:
- name: step1
uses: official_devcloud_cloudBuild
env:
test: test
test2: test2
with:
key1: value1
key2: value2 编排流水线阶段
YAML流水线包含两种阶段:常规阶段和后置阶段。
- 常规阶段:编排常规阶段时,从编排的顶层结构,由一个stages键开始,stages下最多包含16个阶段
stages: test2: name: 阶段_1 select: selected_by_default jobs: pre: - type: time_window with: timeZone: Pacific SA Standard Time timeRanges: "[[\"00:00\",\"00:00\"]]" post: # 阶段的准出任务,可以配置多个表1 阶段的参数解释 参数名
说明
test2
阶段的唯一标识,仅支持大小写英文字母、数字、中划线或下划线,长度为1-128子字符串。
name
流水线阶段名称。
select
阶段是否总是运行。默认值为selected_by_default。
- always:阶段总是运行。
- selected_by_default:阶段默认运行,但不总是运行。
jobs
流水线任务,每个阶段下最多配置100个任务。
type
阶段的准入类型,当前支持三种准入类型。
- auto:自动准入。
- manual:手动准入。
- time_window:时间窗准入,需配置时区和时间段。
- timezone:指定时区。
- ranges:指定时间段范围。
post
配置阶段的准出任务,目前仅支持门禁插件。配置时需指定策略,支持租户策略和项目策略。
若使用租户策略,则需配置level:tenant;若使用项目策略,则需配置level:project。
- 后处理阶段:编排后处理阶段时,从编排的顶层结构下的post中配置。参数解释请参见表1。
post: # 后处理阶段 name: 阶段名称 select: selected_by_default jobs: pre: - type: auto post: # 阶段的准出任务,可以配置多个
表2 阶段的参数解释 参数名
说明
name
流水线后处理阶段名称。仅支持输入中文、大小写英文字母、数字、中划线、下划线、英文逗号、英文分号、英文冒号、英文句号、顿号、斜杠、英文括号、中文括号及空格,其中空格不可在名称开头或结尾使用,长度为1-128个字符。
select
阶段是否总是运行。默认值为selected_by_default。
- always:阶段总是运行。
- selected_by_default:阶段默认运行,但不总是运行。
jobs
流水线任务,每个阶段下最多配置100个任务。
type
阶段的准入类型,当前支持三种准入类型。
- auto:自动准入。
- manual:手动准入。
- time_window:时间窗准入,需配置时区和时间段。
- timezone:指定时区。
- ranges:指定时间段范围。
post
配置阶段的准出任务,目前仅支持门禁插件。配置时需指定策略,支持租户策略和项目策略。
若使用租户策略,则需额外配置level:domain。
配置流水线任务
jobs:
job_1:
name: 任务名称
if: ${{ default() }}
runs-on: default
select: selected_by_default
needs: [ ]
steps:
- name: step1
uses: official_devcloud_cloudBuild
env:
test: test
test2: test2
with:
key1: value1
key2: value2 参数名 | 说明 |
|---|---|
job_1 | 任务的唯一标识,仅支持大小写英文字母、数字、中划线或下划线,长度为1-128个字符。 |
name | 任务名称,仅支持输入中文、大小写英文字母、数字、中划线、下划线、英文逗号、英文分号、英文冒号、英文句号、顿号、斜杠、英文括号、中文括号及空格,其中空格不可在名称开头或结尾使用,长度为1-128个字符。 |
if | 流水线任务执行时需要满足的前提条件,需为可解析的表达式,不超过1024个字符。默认值为${{ default() }}。 |
runs-on | 流水线任务支持的三种类型的运行环境,包括默认资源池、专属资源池和自定义资源池。
|
select | 任务选择的执行方式,包含以下四种方式。
|
needs | 依赖任务的唯一标识。依赖任务需存在。 |
配置流水线步骤
steps:
- name: step1
uses: official_devcloud_cloudBuild
env:
test: test
test2: test2
with:
key1: value1
key2: value2 参数名 | 说明 |
|---|---|
steps | 定义任务组成的步骤,单个任务下最多可配置16个步骤。 |
name | 步骤的名称,名称仅支持输入中文、大小写英文字母、数字、中划线、下划线、英文逗号、英文分号、英文冒号、英文句号、顿号、斜杠、英文括号、中文括号及空格,其中空格不可在名称开头或结尾使用,长度为1-128个字符。 |
uses | 插件信息,格式为“插件名@插件版本”。插件名仅支持输入大小写英文字母、数字、中划线或下划线,长度不超过50个字符。插件版本的格式为a.b.c,三段都是0-99的数字。 官方插件仅体现插件名。 |
env | 插件中的环境变量,最多可配置20个参数。 参数名仅支持大小写英文字母、数字或下划线,不超过128个字符。 参数值不超过8192字符 |
with | 插件中输入的参数,最多可配置50个参数。 |

