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

如何在Bitbucket创建PR时触发Jenkins运行源分支流水线?

实现Bitbucket PR触发Jenkins并运行对应源分支Jenkinsfile的方案

核心依赖插件

先装两个关键Jenkins插件:

  • Bitbucket Branch Source Plugin:实现Jenkins与Bitbucket的深度集成,自动识别分支、PR并触发构建
  • Pipeline Plugin:基础流水线支持,确保能解析分支内的Jenkinsfile

步骤1:配置Bitbucket仓库的Webhook

在Bitbucket仓库设置中找到「Webhooks」,新建一个:

  • 填写Jenkins的Hook地址:http://<你的Jenkins域名或IP>/bitbucket-hook/
  • 触发事件勾选「Pull request created」「Pull request updated」(按需添加其他事件,至少保留创建和更新)
  • 保存后测试Webhook,确保能正常触发Jenkins

步骤2:创建Jenkins多分支流水线项目

新建Multibranch Pipeline项目,这是实现多PR独立构建的核心:

  1. 配置分支源:
    • 选择「Bitbucket」作为分支源,填入仓库URL
    • 添加Bitbucket访问凭证(推荐用App Password,仅赋予仓库读取权限即可)
  2. 过滤feature分支:
    • 在「Branch Sources」的「Filter by name」中填入正则表达式 feature_.*,让Jenkins只处理以feature_开头的分支
  3. PR触发规则:
    • 点开分支源的「Advanced」设置,勾选「Build pull requests from origin」(内部PR场景),构建策略选择「Build the source branch」(直接构建PR源分支,无需合并目标分支)
  4. 开启并发构建:
    • 在项目配置的「General」标签下,勾选「Concurrent builds」,这样即使同时存在100个PR,Jenkins也能并行处理每个PR对应的分支构建

步骤3:确保分支内存在Jenkinsfile

每个feature_开头的分支根目录都需要放置Jenkinsfile,示例内容如下:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package' // 替换为你的实际构建命令
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }
}

额外优化点

  • 若仅需触发向master分支的PR构建,可在Jenkinsfile中添加when条件:
    when {
        changeRequest target: 'master'
    }
    
  • 每个PR的构建会在Jenkins中显示为PR-XXX(XXX为PR编号),方便快速定位对应PR的构建记录
  • 插件配置正确时,Bitbucket的PR页面会自动同步Jenkins的构建状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:25:16