配置流水线
操作步骤
任务编排
在“任务编排”页面,可以配置代码源、管理阶段、管理任务、配置准出条件等。
- 配置代码源
单击代码源阶段下仓库所在区域,弹出“编辑流水线源”侧滑框,可以修改代码源信息。
- 管理阶段
在“任务编排”页面,单击或者“新建阶段”,可以为流水线添加新的阶段,添加完阶段后,可根据实际需要编辑、删除、复制、移动阶段等。
表1 管理阶段 操作项
说明
编辑阶段
单击,弹出“编辑阶段”侧滑框,可以配置阶段名称和阶段是否总是运行。
说明:总是运行:选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。
删除阶段
单击,根据删除提示确认是否删除阶段。
复制阶段
单击,可以复制流水线阶段。
排序阶段
单击不松开,可以移动阶段调整阶段顺序。
阶段准入
单击单击,弹出“准入设置”侧滑框,可以配置阶段准入类型(自动或手动)。
- 自动:默认执行方式,流水线执行时自动进入该阶段继续运行。
- 手动:流水线执行时需手动确认后才能进入该阶段继续运行。
- 管理任务
阶段添加后,可以为各阶段添加任务。任务添加后,请根据实际需要编辑、复制、删除、移动任务等。
表2 管理任务 操作项
说明
添加任务
- 单击“新建任务”,可以在空阶段中添加一个任务。
- 单击任务下方的,可以添加一个和该任务串行编排的任务。
- 单击“并行任务”,可以添加一个和已有任务并行编排的任务。
说明:- 任务串行执行:按顺序执行,如:构建任务和部署任务应该按顺序先后执行。
- 任务并行执行:同时执行,如:代码检查任务和构建任务可以同时执行。
编辑任务
单击任务卡片,可以编辑当前任务。
复制任务
将鼠标移动到任务卡片,单击,可以复制一个和该串行编排的任务。
删除任务
将鼠标移动到任务卡片,单击,根据删除提示确定是否删除任务。
排序任务
单击任务卡片不松开,可以移动任务调整任务顺序。
说明:任务并行执行时不支持调整顺序。
添加或编辑任务时,弹出侧滑框,可以配置任务。
表3 配置任务 操作项
说明
添加插件
插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型,可以根据不同类型进行过滤或搜索。将鼠标移动到插件卡片,单击“添加”,即可将插件添加到任务中。
请根据需要配置插件相关信息:
- 填写插件名称。
- 选择需要调用的任务,如果找不到合适的任务,请根据界面提示新建任务。
- 如果调用的任务有参数,参数也会显示出来,请根据需要配置相应参数。
- 插件名称后有对应标记,单个任务中最多只能添加一个带“任务”标记的插件;带“草稿”标记的插件表示当前用户发布为草稿的自定义插件。
- “挂起流水线”插件只能添加在不含并行任务的阶段中。
删除插件
将鼠标移动到已经添加的插件卡片,单击,选择“删除”,可以删除当前插件。
更换插件
将鼠标移动到已经添加的插件卡片,单击,选择“更换”,或者单击插件上方“更换插件”,可以返回插件列表,更换当前插件。
排序插件
单击插件卡片不松开,可以移动插件调整插件顺序。
任务配置
可以配置任务ID、执行主机和执行条件。
- 任务ID:任务的ID,同一条流水线上的任务ID不能重复。
- 执行主机:包括内置执行机和自定义执行机。
- 内置执行机:服务提供的执行主机,用户无需配置开箱即用。
- 自定义执行机:支持用户自行配置工具和运行环境,以满足不同任务的需求。选择自定义执行机需提前在资源池添加代理资源池,详细操作请参见资源池管理。
- 执行条件:即流水线阶段任务执行时需要满足的前提条件,通过配置执行条件,可以控制阶段任务是否执行。
说明:其中,执行主机仅针对非任务级插件。
- 配置准出条件
单击阶段下方“准出条件”,弹出“准出条件”侧滑框,将鼠标移动到准出条件卡片,单击“添加”,可以为当前阶段添加准出条件,并为准出条件配置策略。
- 当前仅支持“标准策略准出条件”。
- 策略:以标准策略方式配置门禁准出条件,可以选择当前项目或租户下创建好的策略。
策略是一系列规则的集合,每个规则对应了一个步骤插件的输出指标值的条件模板,通过预定义好策略,可以很方便地在多条不同流水线中应用同样的准出条件。详见规则与策略。
- 流水线可以在各阶段单独设置准出条件,准出条件只对当前阶段有效。
- 同一阶段中可以配置多个不同的准出条件。
执行计划
切换至“执行计划”页面,可根据需要为流水线配置事件触发、定时任务和并发策略。其中事件触发包括代码提交时触发、合并请求时触发、创建标签时触发。
- 代码提交时触发(代码托管)
监控代码提交触发事件,可以组合分支和具体路径的包含/排除范围,当在关联的代码仓库中有代码提交且所在的分支和变更文件的路径满足包含/排除策略,会自动触发关联流水线执行。
- 分支包含:提交代码的目标分支在包含分支中,则匹配成功。
- 分支排除:提交代码的目标分支在排除分支中,则匹配失败。
- 路径包含:变更文件有任意一个(若配置了路径排除,则必须为排除范围外的变更文件)在包含范围内,则匹配成功。
- 路径排除:变更文件全部在排除范围内,则匹配失败。
- 合并请求时触发(代码托管)
启用合并请求事件触发:监控合并请求触发事件,可以组合分支和具体路径的包含/排除范围,对新建、更新、代码更新、合并和重新打开事件设置触发策略,当在关联的代码仓库侧触发合并请求事件且分支满足包含/排除策略,会自动触发关联流水线执行。
事件说明:
- 新建:合并请求创建时触发。
- 合并:合并请求合入时触发,该事件会同时触发代码提交事件。
- 重新打开:合并请求重新打开时触发。
- 更新:合并请求内容更新、设置更新或者源代码更新时触发,打开“仅代码更新触发”,则仅源代码更新时触发。
分支说明:
- 分支包含:合并请求的目标分支在包含分支中,则匹配成功。
- 分支排除:合并请求的目标分支在排除分支中,则匹配失败。
- 路径包含:变更文件有任意一个(若配置了路径排除,则必须为排除范围外的变更文件)在包含范围内,则匹配成功。
- 路径排除:变更文件全部在排除范围内,则匹配失败。
- 创建标签时触发(代码托管)
监控创建标签触发事件,可以添加标签包含/排除范围,当在关联的代码仓库创建标签且满足标签包含/排除策略,会自动触发关联流水线执行。
- 标签包含:在代码仓库创建的标签在包含标签中,则匹配成功。
- 标签排除:在代码仓库创建的标签在排除标签中,则匹配失败。
- 先匹配分支,再匹配路径(如果有配置),都匹配成功,则触发流水线。
- 分支排除优先于分支包含,即目标分支同时在包含和排除中时,匹配失败。
- 路径排除优先于路径包含,即先匹配排除的路径,如果变更文件没有全部在排除范围内,则继续匹配包含的路径。若未配置包含路径,则匹配成功;若配置了包含路径,并且变更文件在路径排除范围外有任意一个在包含范围内,则匹配成功。
- 标签排除优先于标签包含,即标签同时在包含和排除中时,则匹配失败。
- 定时执行
单击定时任务区域的“创建定时任务”,增加一个定时任务,打开“启用定时执行”开关(默认开启),然后设置执行日和执行时间,保存流水线后即可生效,满足条件即可自动触发流水线执行。
最多可以设置10个定时任务。
- 并发策略
默认单条流水线最大执行并发数为5,超过并发数后新的触发忽略不执行。可以通过并发策略为单条流水线配置同时处于运行中和暂停状态的流水线最大实例个数,即并发数,更细粒度地为用户分配并发资源。
打开“并发策略”开关,然后设置并发数和超过并发后执行策略,保存流水线后即可生效。
参数项
说明
并发个数
单条流水线最大执行并发数,受套餐和购买并发数限制。
超过并发后执行策略
超过并发数后可选择如下两种处理方式:
- 排队等待:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。
- 单条流水线最多支持100条排队记录。
- 单条排队记录排队时长超过24小时后会被放弃执行。
- 排队记录支持手动取消排队,即放弃执行。
- 排队记录执行时,配置信息以入队时为准。
- 忽略不执行:超过并发数后新的触发忽略不执行。
- 排队等待:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。