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

如何设置Bitbucket Pipelines仅手动触发、不随提交推送自动运行

方案1:改用custom类型流水线(最推荐)

Bitbucket Pipelines的custom配置项专门用于定义仅手动触发的流水线,不会响应任何代码推送、PR合并等自动事件,你可以直接修改原有配置如下:

pipelines:  
  custom: # 替换原来的branches配置块
    手动构建APK: # 可自定义流水线显示名称,后台手动触发时会展示
      - variables: # 不需要手动传参可删除该块
          - name: BUILD_VERSION
            default: 1.0.0
      - step:
          name: Build apk
          size: 2x
          script:
            - JAVA_OPTS="-Xmx2048m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
            - docker build -t app-release:${BUILD_VERSION:-1.0.0} .
          services:
            - docker

definitions:
  services:
    docker:
      memory: 7128

配置后,流水线只会在进入对应仓库的「流水线」页面,手动选择该custom流水线运行时才会执行,完全不受代码提交推送影响。

方案2:保留分支绑定,添加触发条件

如果你需要限定只有new_ui_apk分支可以手动运行该流水线,不想对所有分支开放手动触发,可以在原有分支流水线的step上添加触发规则+执行条件:

pipelines:  
  branches:
    new_ui_apk:
      - step:
          name: Build apk
          size: 2x
          trigger: manual # 该步骤仅手动触发
          condition:
            condition: '$BITBUCKET_PIPELINE_TRIGGER == ''MANUAL''' # 仅当触发源是手动操作时才执行
          script:
            - JAVA_OPTS="-Xmx2048m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
            - docker build -t app-release:1.0.0 .
          services:
            - docker

definitions:
  services:
    docker:
      memory: 7128

该配置下,即使有人推送代码到new_ui_apk分支,流水线只会创建待执行的任务,不会自动运行,需要人工确认触发才会执行。

方案3:添加提交信息强制校验规则

如果团队暂时不想修改现有流水线配置,可以在仓库的预接收钩子(pre-receive hook)中添加校验规则,所有推送到new_ui_apk分支的提交信息必须包含[skip ci]标识,否则直接拦截推送,从源头避免遗漏标识的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:12:02