You need to enable JavaScript to run this app.
文档中心
持续交付

持续交付

复制全文
下载 pdf
触发器常见问题
触发事件与触发条件
复制全文
下载 pdf
触发事件与触发条件
本文为您介绍代码源触发支持的触发事件、每个触发事件的含义、以及触发条件的匹配规则。​
  • 触发事件​
  • 通过配置触发事件,可对代码源的 Webhook 事件进行过滤。各代码源支持的触发事件如下。​
  • ​
    ​
    Gitee​
    GitLab​
    GitHub​
    通用 Git​
    Gerrit​
    Codeup​
    BitbucketCloud​
    Perforce​
    Coding​
    GitCode​
    代码 Push​
    ✔️​
    ✔️​
    ✔️​
    ❌​
    ❌​
    ✔️​
    ✔️​
    ❌​
    ✔️​
    ✔️​
    TAG 创建​
    ✔️​
    ✔️​
    ✔️​
    ❌​
    ❌​
    ✔️​
    ✔️​
    ❌​
    ✔️​
    ✔️​
    合并请求完成后​
    ✔️​
    ✔️​
    ✔️​
    ❌​
    ✔️​
    ✔️​
    ✔️​
    ❌​
    ✔️​
    ✔️​
    合并请求新建/更新​
    ✔️​
    ✔️​
    ✔️​
    ❌​
    ❌​
    ✔️​
    ✔️​
    ❌​
    ✔️​
    ✔️​
    补丁集创建​
    ❌​
    ❌​
    ❌​
    ❌​
    ✔️​
    ❌​
    ❌​
    ❌​
    ❌​
    ❌​
    ​
说明​
通用 Git 和 Perforce 代码源不支持直接使用代码源触发功能。如需实现代码源事件触发,请配置 普通 Webhook 触发,并在自己的代码仓库侧进一步配置要推送的事件。​
  • 触发条件​
  • 每种触发事件支持设置对应的触发条件。触发条件通常是分支名或 TAG 关键字。通过设置触发条件,可对代码源的 Webhook 事件进行进一步过滤。​
代码 Push​
  • 代码 Push:仓库中发生任何 Push 事件,都将触发流水线运行。例如:从本地 Push 分支到对应的远程分支、在代码管理平台修改文件等。流水线运行的分支是 Push 的目标分支。​
  • 代码 Push + 触发条件:当 Push 的目标分支与触发条件匹配成功时,触发流水线运行。​
说明​
Codeup 代码源支持添加 文件路径 作为代码 Push 事件的过滤条件。添加文件路径后,仅特定代码路径下的 Push 事件可触发流水线运行。​
  • 文件路径默认为根目录下路径,无需以/开头。​
  • 文件路径支持填写多个,支持正则表达式,匹配规则与下文 触发条件的匹配规则 相同。​
  • 同时添加代码 Push 的触发条件和文件路径时,过滤条件为“且”的关系。例如:代码 Push 的触发条件为 Master,文件路径为 demo/a.txt 和 demo/b.txt。只有 Mater 分支下的 demo/a.txt 或 demo/b.txt 文件发生 Push 事件时,会触发流水线运行。​
TAG 创建​
  • TAG 创建:仓库中创建 TAG、更新 TAG 均会触 发流水线运行,并使用目标 TAG 作为流水线运行的代码版本。​
  • TAG 创建 + 触发条件:当创建或更新的 TAG 名称与触发条件匹配成功时,触发流水线运行。​
合并请求完成后​
  • 合并请求完成后:在代码源创建合并请求事件将触发流水线运行。例如从远程的 Dev 分支(源分支)发起一个合并请求到 Master 分支(目标分支)。持续交付会将合并请求的目标分支与过滤条件进行匹配,如果匹配成功,则会触发流水线,使用 Master 分支(目标分支) 作为流水线运行时使用的分支。​
  • 合并请求完成后 + 触发条件:当被合入的目标分支与触发条件匹配成功时,触发流水线运行。​
合并请求新建/更新​
  • 合并请求新建/更新:在代码源创建合并请求事件将触发流水线运行。例如从远程的 Dev 分支(源分支)发起一个合并请求到 Master 分支(目标分支)。持续交付会将合并请求的目标分支与过滤条件进行匹配,如果匹配成功,则会触发流水线,并使用 Dev 分支(源分支) 作为流水线运行时使用的分支。​
  • 合并请求新建/更新 + 触发条件:当源分支与触发条件匹配成功时,触发流水线运行。​
补丁集创建​
  • 补丁集创建:仓库中创建新的补丁集后,将触发流水线运行。流水线运行的分支是创建补丁集的分支。​
  • 补丁集创建 + 触发条件:当创建补丁集的分支与触发条件匹配成功时,触发流水线运行。​
触发条件的匹配规则​
  • 每个触发条件的匹配规则如下:​
  • 触发条件表达式中不含特殊元字符则为 精准匹配。​
  • 含以下特殊元字符则为 Golang 正则匹配。​
注意​
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为前缀命名的分支提交代码,都会触发流水线运行。​
    ​
    ​
​
最近更新时间:2025.07.31 18:25:50
这个页面对您有帮助吗?
有用
有用
无用
无用