You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitbucket Pipelines:PR开启后提交触发双流水线问题咨询

Bitbucket Pipelines 分支提交与PR触发重复流水线问题

我的配置如下:

pipelines:
  pull-requests:
    'projectname-*':
      - step:
          name: PR
          script:
              - Do some things

  branches:
    'projectname-*':
      - step:
          name: Feature dev
          script:
              - Do some other things

按照Bitbucket官方文档说明,pull-requests定义的流水线仅在创建PR时运行,但实际打开匹配projectname-*的PR后,后续向该分支提交代码会同时触发两条流水线。这是配置有误还是Bitbucket的问题?


这既不是配置错误,也不是Bitbucket的问题,是官方文档的描述容易造成误解。

实际触发逻辑是:当PR处于打开状态时,向其源分支提交代码会同时满足两个触发条件:

  • 分支提交触发:提交的分支匹配branches字段下的projectname-*规则,触发分支流水线
  • PR更新触发:该分支关联了符合pull-requests字段下projectname-*规则的PR(这里的规则匹配的是PR的源分支),此时PR发生更新,会触发PR流水线

这种双流水线触发是Bitbucket的预期行为。如果要避免重复触发,可通过以下方式调整配置:

方案1:给分支流水线添加排除条件

利用Bitbucket提供的BITBUCKET_PR_ID环境变量,当该变量存在时(说明当前分支关联了PR),跳过分支流水线:

pipelines:
  pull-requests:
    'projectname-*':
      - step:
          name: PR
          script:
              - Do some things

  branches:
    'projectname-*':
      - step:
          name: Feature dev
          condition: $BITBUCKET_PR_ID is empty
          script:
              - Do some other things

方案2:调整触发规则

根据实际需求取舍:比如只保留PR流水线,或者让分支流水线仅在PR合并后触发(若适用)。

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:28:27