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

如何将Bitbucket自定义手动流水线限制到特定分支?

如何在Bitbucket Pipelines中实现手动触发流水线的分支限制

你可以通过两种方式实现手动触发流水线仅在release/*分支上运行的需求:

方案一:声明式分支匹配(推荐)

Bitbucket Pipelines允许在自定义流水线中直接指定分支匹配规则,这样只有符合release/*模式的分支才能触发这条手动流水线,非匹配分支在手动触发时会被直接拦截。

完整配置示例:

pipelines:
  # 原有的main分支自动流水线
  branches:
    main:
      - step:
          name: 部署到预发布环境
          # 你的预发布部署步骤配置
          script:
            - echo "部署到staging环境..."
  # 带分支限制的手动触发生产流水线
  custom:
    production-deployment:
      # 指定仅匹配release/*分支
      branches:
        release/*:
          - step:
              name: 部署到生产环境
              # 你的生产部署步骤配置
              script:
                - echo "部署到production环境..."

配置后,当你手动触发production-deployment流水线时,只有release/*分支会出现在可选列表中,非匹配分支无法触发这条流水线。

方案二:脚本分支检查(兜底验证)

如果需要更灵活的分支校验逻辑,或者作为声明式配置的补充,可以在流水线步骤中添加脚本,主动检查当前分支是否符合规则,不符合则直接终止流水线。

配置示例:

pipelines:
  custom:
    production-deployment:
      - step:
          name: 分支合法性校验
          script:
            # 检查当前分支是否匹配release/*模式
            - if ! [[ "$BITBUCKET_BRANCH" =~ ^release/.*$ ]]; then
                echo "错误:仅允许在release/*分支触发该流水线"
                exit 1
              fi
          # 如果需要,可以添加其他步骤
      - step:
          name: 部署到生产环境
          script:
            - echo "部署到production环境..."

这里利用Bitbucket提供的环境变量BITBUCKET_BRANCH获取当前分支,通过正则表达式匹配验证,不符合则抛出错误并退出流水线,避免后续部署步骤执行。

你可以根据实际需求选择其中一种方案,推荐优先使用声明式配置,更简洁且符合Bitbucket Pipelines的原生规则。

内容的提问来源于stack exchange,提问作者Yossi G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:12:06