跳到主要内容

编排流水线

阶段设置

阶段是流水线中的二级元素,一个阶段通常是具有一些列相似性任务的集合,如“代码扫描”阶段,他可以有“代码规范扫描”、“代码安全扫描”、“代码缺陷扫描”三个任务。一条流水线可以有多个阶段,按照顺序串行执行。阶段有以下基本元素:

  • 阶段名称:阶段的名字,同一条流水线内可以重复。

  • 触发方式

    • 自动触发:上游阶段构建成功之后,自动触发下游阶段,如果失败,则不允许触发下游。
    • 手动触发:上游阶段构建成功之后,不会自动触发下游阶段,需要手动点击执行按钮。
  • 失败策略

    • 快速失败 :主要应用并发任务执行时的场景,如下图所示。在构建阶段有三个并行任务链,当编译阶段开始执行时,三个任务链会同时开始执行。其中Step1-1执行失败后,即使Step2-1、Step3-1执行成功,也不会触发下游任务执行。即当选择“快速失败”时,并行的任务链条是可以互相影响执行状态的。
    • 自然失败 :与快速失败相反,当选择“自然失败”时,并行的任务链条互不影响,即使Step1-1执行失败,它只会影响Step1-2、Step1-3不能继续执行,而Step2、Step3链条仍会正常向下执行,直到链条全部执行完毕。

快速失败

使用案例

新建阶段

新建阶段2

任务设置

任务是流水线的三级元素,属于阶段的子元素,是最小执行单元。在阶段可以定义任务按照串行或并行两种顺序执行,任务默认全部是自动执行,不支持手动执行。一个任务对应一个插件,任务是插件的执行容器。基于此,流水线的整体模型为: 一个流水线对应多个阶段,一个阶段对应多个任务,一个任务对应一个插件 。

一个任务包含以下基本信息:

  • 任务名称:任务的名字,同一阶段内可以重复
  • 工作区:流水线配置多个源的时候需要选择工作源,执行时会拉取工作源数据

使用案例

新建任务

新建任务2

新建任务3