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

如何在Bitbucket Pipelines中向私有仓库提交并推送代码?

这个问题我之前帮人排查过,核心原因是Bitbucket Pipelines在执行git push时,用HTTPS方式需要验证身份,但Pipelines是无交互环境,没法弹出输入密码的窗口,所以才会报这个错误。下面给你两种最实用的解决办法,从简单到进阶:

方案一:用Bitbucket App Password(最简单的密码方式)

这是最快能解决问题的方法,不需要折腾密钥,用Bitbucket专门提供的App Password来替代你的账号密码:

  • 第一步:生成App Password
    登录你的Bitbucket账号,进入个人设置 → App passwords → 点击Create app password。给这个密码起个名字(比如Pipelines Push),然后勾选需要的权限:至少要选Repository下的Write权限,其他权限按需勾选,最后点击Create,复制生成的密码(一定要保存好,离开页面就看不到了)。
  • 第二步:在Pipelines里配置环境变量
    进入你的仓库 → Settings → Pipelines → Repository variables,添加一个新变量,比如BITBUCKET_APP_PASSWORD,把刚才复制的App Password粘贴进去,记得勾选Secured(这样密码不会明文显示)。
  • 第三步:修改你的Pipeline脚本
    把原来的git remote set-url那一行改成:
    git remote set-url origin https://myname:$BITBUCKET_APP_PASSWORD@bitbucket.org/company/repo.git
    
    这样Pipelines执行push时,就会自动用这个App Password完成身份验证,不会再卡住要密码了。
方案二:用SSH密钥(免密更安全)

如果不想用密码方式,SSH密钥是更安全的免密方案,步骤稍微多一点,但一劳永逸:

  • 第一步:生成无密码的SSH密钥对
    在你的本地终端执行命令(不要设置密码,直接回车到底):
    ssh-keygen -t ed25519 -C "myname@company.com"
    
    执行完后,会在~/.ssh目录下生成两个文件:id_ed25519(私钥)和id_ed25519.pub(公钥)。
  • 第二步:把公钥添加到Bitbucket仓库
    打开id_ed25519.pub文件,复制里面的全部内容。然后进入你的Bitbucket仓库 → Settings → SSH keys → 点击Add key,粘贴公钥内容,起个名字(比如Pipelines Key),保存即可。
  • 第三步:在Pipelines里配置私钥
    进入仓库的Settings → Pipelines → Repository variables,添加一个新变量SSH_PRIVATE_KEY,把id_ed25519文件里的全部内容粘贴进去,勾选Secured。
  • 第四步:修改Pipeline脚本
    在脚本的最开头添加配置SSH的步骤,然后修改remote URL为SSH格式:
    # 配置SSH密钥
    mkdir -p ~/.ssh
    echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
    chmod 600 ~/.ssh/id_ed25519
    # 添加Bitbucket到已知主机,避免首次连接的确认提示
    ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
    # 替换remote URL为SSH格式
    git remote set-url origin git@bitbucket.org:company/repo.git
    
    后面的git add、commit、push步骤保持不变就行,现在push就会用SSH密钥自动验证,不需要密码了。
额外注意事项
  • 你的脚本里已经加了[skip CI]在commit信息里,这点很重要,能避免Pipelines因为这次push再次触发,造成循环执行。
  • 不管用哪种方式,都不要把密码或密钥硬编码在脚本里,一定要用Pipelines的环境变量,保证安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:46:33