代码提交触发
绑定好代码源,然后保存流水线,系统会自动向代码服务平台注册 Webhook,在相应的代码地址和分支上提交代码后就可以触发流水线的运行了。
触发事件与过滤条件
你可以使用触发事件和过滤条件的配置来对代码源 Webhook 事件进行过滤。
不同代码源支持的触发事件
Gitee | Github | 其他平台持续更新 | |
---|---|---|---|
分支推送 | ✅ | ✅ | |
标签推送 | ✅ | ✅ | |
代码评审 | ✅ | ❌ |
分支推送
从本地 push 分支到远程分支(或在代码管理平台的Web端进行文件修改),比如从本地的master push到 origin/master。流水线会将 push 的目标分支与过滤条件进行匹配,如果匹配成功,则会触发流水线。
分支推送支持三种匹配方式,三种匹配规则是交集关系,即同时设置了匹配规则,只有满足所有规则时才可触发流水线
-
分支匹配:共有以下四种独立匹配规则
- 前缀匹配:如填写 dev,则匹配dev开头的所有分支;当填写空时,匹配所有分支
- 精确匹配:如填写 dev,仅会匹配dev分支
- 正则匹配:如填写 dev.*,则匹配前缀为dev的所有分支
- 精确排除:如填写 dev,则向dev分支提交代码不会触发流水线。精确排除的规则优先级最高,通常和其他规则混合使用
-
文件/目录匹配:共有以下两种独立匹配规则
- 精确匹配:如填写 src/main/test.java,则代码路径过滤满足此规则下的代码发生更新才可以触发流水线运行
- 正则匹配:如填写 src.*,则代码路径满足src开头的代码发生更新才可以触发流水线运行
-
提交注释关键字匹配:仅支持正则匹配
- 正则匹配:如填写 ^build.*,则在提交代码时提交信息中以build前缀开头的都可以触发流水线
标签推送
从本地 push tag 到服务端 tag(或在代码管理平台的 Web 端进行 Tag 创建),比如将本地的 tag release/0.0.1 push 服务端。流水线会将 push 的目标 Tag 名称与过滤条件进行匹配,如果匹配成功,则会触发流水线。
- Tag匹配:共有以下四种独立匹配规则
- 前缀匹配:如填写 v1,则匹配v1开头的所有Tag;当填写空时,匹配所有Tag
- 精确匹配:如填写 v1.1.1,仅会匹配v1.1.1 Tag
- 正则匹配:如填写 v1.*,则匹配前缀为v1的所有Tag
- 精确排除:如填写 v1.1.1,则创建v1.1.1 Tag不会触发流水线。精确排除的规则优先级最高,通常和其他规则混合使用
代码评审
代码评审是由页面发起PR、更新PR、评论PR行为产生。因此,只要在流水线中配置了代码评审触发,以上三种操作并满足匹配规则都会自动触发流水线执行。
代码评审支持四种匹配方式,四种匹配规则是交集关系,即同时设置了匹配规则,只有满足所有规则时才可触发流水线
-
分支匹配:共有以下四种独立匹配规则
- 前缀匹配:如填写 dev,则匹配dev开头的所有分支;当填写空时,匹配所有分支
- 精确匹配:如填写 dev,仅会匹配dev分支
- 正则匹配:如填写 dev.*,则匹配前缀为dev的所有分支
- 精确排除:如填写 dev,则向dev分支提交代码不会触发流水线。精确排除的规则优先级最高,通常和其他规则混合使用
-
源分支文件/目录匹配:共有以下两种独立匹配规则
- 精确匹配:如填写 src/main/test.java,则代码路径过滤满足此规则下的代码发生更新才可以触发流水线运行
- 正则匹配:如填写 src.*,则代码路径满足src开头的代码发生更新才可以触发流水线运行
-
评审标题匹配:仅支持正则匹配
- 正则匹配:如填写 ^生产代码合入.*,则在发起PR、更新PR、评论PR时的标题中以 生产代码合入 开头的PR标题都可以触发流水线
-
评论信息匹配:仅支持正则匹配
- 正则匹配:如填写 通过.*,则在评论PR时的评论信息中以 通过 开头的都可以触发流水线