配置流水线执行计划
流水线支持配置事件触发、定时任务、Webhook触发和并发策略四种执行计划。通过事件触发和定时任务,实现自动化执行;通过Webhook触发,用户可以通过任意第三方系统触发流水线执行;通过并发策略,可以更细粒度地为用户分配并发资源。
配置流水线事件触发
事件触发包括代码提交时触发、合并请求时触发、创建标签时触发。码云代码仓还支持Pull Request、新建issue、评论issue等其他事件。
- 访问CodeArts Pipeline首页。
- 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。
- 进入流水线“任务编排”页面,切换至“执行计划”页面,在“事件触发”勾选触发事件进行配置。
- 代码提交时触发(代码托管/码云)
监听代码提交触发事件,可以组合分支和具体路径的包含/排除范围,当在关联的代码仓库中有代码提交且所在的分支和变更文件的路径满足包含/排除策略,会自动触发关联流水线执行。
- 分支过滤:可以通过设置包含或排除分支,来监听触发事件所在的目标分支。
- 路径过滤:可以通过设置包含或排除路径,来监听触发事件所在的变更文件路径。
图1 配置代码提交时触发
- 合并请求时触发(代码托管/码云)
监听合并请求触发事件,可以组合分支和具体路径的包含/排除范围,对新建、合并、更新和重新打开事件设置触发策略,当在关联的代码仓库中触发合并请求事件且分支满足包含/排除策略,会自动触发关联流水线执行。
事件说明:
- 新建:合并请求创建时触发。
- 合并:合并请求合入时触发,该事件会同时触发代码提交事件。
- 重新打开:合并请求重新打开时触发。
- 更新:合并请求内容更新、设置更新或者源代码更新时触发,打开“仅代码更新触发”,则仅源代码更新时触发。
分支说明:
- 分支过滤:可以通过设置包含或排除分支,来监听触发事件所在的目标分支。
- 路径过滤:可以通过设置包含或排除路径,来监听触发事件所在的变更文件路径。
图2 配置合并请求时触发
- 创建标签时触发(代码托管)
监听创建标签触发事件,可以设置标签包含/排除范围,当在关联的代码仓库创建标签且满足标签包含/排除策略,会自动触发关联流水线执行。
图3 配置创建标签时触发
- 其他事件(码云)
- 评论Pull Request:评论Pull Request时触发流水线执行。
- 新建issue:新建issue时触发流水线运行。
- 评论issue:评论issue时触发流水线运行。
- 除了上述事件外,码云代码仓还支持开启事件触发成功后自动评论。
- 先匹配分支,再匹配路径,都匹配成功,则触发流水线。
- 路径排除优先于路径包含,即先匹配排除的路径,如果变更文件没有全部在排除范围内,则继续匹配包含的路径。若未配置包含路径,则匹配成功,触发流水线;若配置了包含路径,并且变更文件在路径排除范围外有任意一个在包含范围内,则匹配成功,触发流水线。
- 标签排除优先于标签包含,即标签同时在包含和排除中时,则匹配失败,不触发流水线。
- 路径匹配范围:单次提交的前300个变更文件,变更文件数超过300建议拆分。
- 代码提交时触发(代码托管/码云)
- 配置完成后,保存流水线。
配置流水线定时执行
配置流水线在指定的时间自动执行。
- 访问CodeArts Pipeline首页。
- 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。
- 进入流水线“任务编排”页面,切换至“执行计划”页面。
- 单击“定时任务”区域的“创建定时任务”,增加一个定时任务,打开“启用定时执行”开关(默认开启),配置如下信息:
图4 配置定时任务
表1 定时任务 参数项
说明
执行日
选择执行日期。
时间段
选择执行时间段和时区。
间隔时间
设置间隔时间,即每间隔多长时间触发一次。
- 最多可以设置10个定时任务。
- 单击右上角,可删除定时任务;单击右上角,可复制定时任务。
- 配置完成后,保存流水线。
Webhook触发
通过Webhook触发,用户可以通过任意第三方系统触发流水线执行。
- 访问CodeArts Pipeline首页。
- 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。
- 进入流水线“任务编排”页面,切换至“执行计划”页面。
- 打开“Webhook”开关(默认关闭),参数说明如表2,保存流水线后即可生效。
图5 配置Webhook触发
表2 配置Webhook触发 参数项
说明
Webhook触发源
将该地址复制到第三方系统触发器,使用Post方法调用,即可运行流水线。
IAM认证
- 启用IAM认证,需要将用户IAM Token加入接口请求头,调用示例如下:
curl --header "Content-Type: application/json" --header 'x-auth-token: XXXX(IAM Token)' --request POST --data "{}" Webhook触发源
- 不启用IAM认证,调用示例如下:
curl --header "Content-Type: application/json" --request POST --data "{}" Webhook触发源
- 启用IAM认证,需要将用户IAM Token加入接口请求头,调用示例如下:
配置流水线并发策略
默认单条流水线最大执行并发数为5,超过并发数后新的触发忽略不执行。可以通过并发策略为单条流水线配置同时处于运行中和暂停状态的流水线最大实例个数,即并发数,更细粒度地为用户分配并发资源。
- 访问CodeArts Pipeline首页。
- 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。
- 进入流水线“任务编排”页面,切换至“执行计划”页面。
- 打开“并发策略”开关(默认关闭),设置并发数和超过并发后执行策略。
图6 配置并发策略
表3 配置并发策略 参数项
说明
并发个数
单条流水线最大执行并发数,受套餐和购买并发数限制。
超过并发后执行策略
超过并发数后可选择如下两种处理方式:
- 排队等待:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。
- 单条流水线最多支持100条排队记录。
- 单条排队记录排队时长超过24小时后会被放弃执行。
- 排队记录支持手动取消排队,即放弃执行。
- 排队记录执行时,配置信息以入队时为准。
- 忽略不执行:超过并发数后新的触发忽略不执行。
- 排队等待:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。
- 配置完成后,保存流水线。