任务编排
阶段设置
阶段是流水线中的二级元素,一个阶段通常是具有一些列相似性任务的集合,如“代码扫描”阶段,他可以有“代码规范扫描”、“代码安全扫描”、“代码缺陷扫描”三个任务。一条流水线可以有多个阶段,按照顺序串行执行。阶段有以下基本元素:
- 阶段名称:阶段的名字,同一条流水线内可以重复
- 阶段标识:阶段的唯一标识,同一条流水线内不可重复
- 触发方式
- 自动触发:上游阶段构建成功之后,自动触发下游阶段,如果失败,则不允许触发下游
- 手动触发:上游阶段构建成功之后,不会自动触发下游阶段,需要手动点击执行按钮
- 失败策略
- 快速失败 :主要应用并发任务执行时的场景,如下图所示。在构建阶段有三个并行任务链,当编译阶段开始执行时,三个任务链会同时开始执行。其中 Step1-1 执行失败后,即使 Step2-1. Step3-1 执行成功,也不会触发下游任务执行。即当选择“快速失败”时,并行的任务链条是可以互相影响执行状态的。
- 自然失败 :与快速失败相反,当选择“自然失败”时,并行的任务链条互不影响,即使 Step1-1 执行失败,它只会影响 Step1-2. Step1-3 不能继续执行,而 Step2. Step3 链条仍会正常向下执行,直到链条全部执行完毕
使用事例 : 【 推荐】您可以在可视化编辑界面定义:
您可以在 Yml 中直接定义:
# 配置阶段,必填字段。可以配置多个 stage,按照配置顺序串行执行
stages:
- stage:
# 阶段标识,支持数字、字母 (小写)、中划线、下划线,当前流水线内唯一
name: compile
# 阶段名称,支持中文、数字、字母、通用符号等,最大 128 个字符
displayName: 编译
# 阶段触发策略,naturally 表示自然失败,fast 表示快速失败
strategy: naturally
# 阶段触发方式,auto 表示自动触发,manual 表示手动触发
trigger: auto