本文为您介绍代码源触发支持的触发事件、每个触发事件的含义、以及触发条件的匹配规则。
Gitee | GitLab | GitHub | 通用 Git | Gerrit | Codeup | BitbucketCloud | Perforce | |
---|---|---|---|---|---|---|---|---|
代码 Push | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ |
TAG 创建 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ |
合并请求完成后 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ |
合并请求新建/更新 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ |
补丁集创建 | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ |
说明
通用 Git 和 Perforce 代码源不支持直接使用代码源触发功能。如需实现代码源事件触发,请配置 普通 Webhook 触发,并在自己的代码仓库侧进一步配置要推送的事件。
说明
Codeup 代码源支持添加 文件路径 作为代码 Push 事件的过滤条件。添加文件路径后,仅特定代码路径下的 Push 事件可触发流水线运行。
/
开头。每个触发条件的匹配规则如下:
注意
Golang 正则表达式包含的元字符有:
.
, \
, *
, +
, ?
, ^
, $
, []
, {}
, |
, ()
[^]
, [-]
, (?:)
, (?!)
, (?=)
, (?<=)
, (?<!)
例如:
触发事件 | 触发条件 | 含义 | |
---|---|---|---|
代码 Push | feature | 精确匹配:仅feature 分支提交代码,会触发流水线运行。 | |
代码 Push | ^feature$ | 正则匹配:仅feature 分支提交代码,会触发流水线运行。 | |
代码 Push | feature|dev|sit | 正则匹配:任一包含feature 或dev 或sit 的分支提交代码,都会触发流水线运行。 | |
TAG 创建 | v1.0 | 正则匹配:. 表示匹配除了换行符之外的任意单个字符。故v1.0 或v1a0 或v110 的 TAG 创建,都会触发流水线运行。 | |
TAG 创建 | ^v1\.0$ | 正则匹配:仅v1.0 的 TAG 创建,会触发流水线运行。 | |
TAG 创建 | ^SNAPSHOT-V.* | 正则匹配:有 SNAPSHOT-V 为前缀命名的 TAG 创建,都会触发流水线运行。 |
支持添加多个触发条件,多个触发条件之间为“或”的关系。
例如:
触发事件 | 触发条件1 | 触发条件2 | 含义 | |
---|---|---|---|---|
代码 Push | feature | dev | feature 分支或dev 分支提交代码,都会触发流水线运行。 | |
代码 Push | ^feature.* | ^dev.* | 所有以feature 为前缀命名的分支或以dev 为前缀命名的分支提交代码,都会触发流水线运行。 |