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

Bitbucket提交代码后触发GitHub仓库同步的功能是否可实现?

Bitbucket 自动同步到 GitHub 实现方案

该需求完全可实现,以下是两种常用的落地方案,适配不同使用场景:

方案1:Bitbucket Pipelines 实时同步(推荐)

这是最稳定的实时同步方案,全程不需要第三方服务依赖:

  • 第一步:在GitHub生成一个拥有repo权限的Personal Access Token(PAT),生成后及时保存,Token仅会显示一次
  • 第二步:打开Bitbucket对应仓库的「Repository settings」→「Repository variables」,新增两个加密变量:
    • GITHUB_PAT:填写上一步生成的GitHub PAT
    • GITHUB_REPO:填写GitHub仓库地址,格式为 https://<你的GitHub用户名>:$GITHUB_PAT@github.com/<GitHub用户名>/<目标仓库名>.git
  • 第三步:在Bitbucket仓库根目录新建bitbucket-pipelines.yml配置文件,内容参考如下:
image: alpine/git
pipelines:
  # 所有分支推送都触发同步,也可以自定义触发规则,比如只同步main分支
  default:
    - step:
        name: 同步代码到GitHub
        script:
          - git config --global user.name "Bitbucket Sync Bot"
          - git config --global user.email "sync-bot@example.com"
          # 全量镜像同步,包含所有分支、标签
          - git push --mirror $GITHUB_REPO

配置完成后,所有向Bitbucket提交的代码都会在几秒内自动同步到GitHub,你直接在Azure Web App绑定对应的GitHub仓库即可实现正常的自动部署流程。

方案2:GitHub 定时拉取同步

如果不需要实时同步,也可以用GitHub自带的镜像功能实现定时同步:

  • 打开GitHub目标仓库的设置页,找到「Code security and analysis」→「Repository mirroring」
  • 填写Bitbucket仓库的拉取地址,配置认证信息后开启自动拉取即可,GitHub会每隔数小时自动拉取Bitbucket的代码变更

注意事项

  • 同步前请确认两个仓库的主分支名称一致,若存在命名差异(如Bitbucket用master、GitHub用main),需要提前调整分支命名或者在同步脚本中添加分支映射规则
  • 若仓库开启了Git LFS存储大文件,需要在同步脚本中额外添加git lfs push --all $GITHUB_REPO命令,避免大文件同步丢失
  • 所有认证凭证请存在平台自带的加密变量中,禁止明文写在配置文件内,避免权限泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:15:03