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

如何在Bitbucket Pipeline中拉取GCP私有GCR/Artifact Registry镜像?

配置Bitbucket Pipeline拉取Google私有GCR/Artifact Registry镜像

要让Bitbucket Pipeline成功拉取Google私有镜像仓库的镜像,需完成以下三步配置:

1. 准备Google服务账号密钥

  • 创建Google Cloud服务账号,分配对应权限:
    • 使用GCR时:授予Storage Object Viewer角色
    • 使用Artifact Registry时:授予Artifact Registry Reader角色
  • 导出该服务账号的JSON格式密钥文件。

2. 在Bitbucket仓库配置环境变量

进入仓库「Settings」→「Repository variables」,添加两个变量:

  • GCP_PROJECT_ID:填写你的Google Cloud项目ID
  • GCP_SERVICE_ACCOUNT_KEY:粘贴JSON密钥文件的完整内容,勾选「Secured」选项保护密钥。

3. 修改Bitbucket Pipeline配置

在Pipeline步骤中添加镜像仓库认证逻辑,确保拉取镜像前完成登录:

GCR配置示例

definitions:
    steps:
      - step: &step1
          name: step1
          image: eu.gcr.io/$GCP_PROJECT_ID/my_private_image:tag
          before-script:
            # 通过服务账号密钥登录GCR
            - echo "$GCP_SERVICE_ACCOUNT_KEY" | docker login -u _json_key --password-stdin eu.gcr.io
          script:
            - ...

Artifact Registry配置示例

definitions:
    steps:
      - step: &step1
          name: step1
          # Artifact Registry镜像地址格式:[区域]-docker.pkg.dev/[项目ID]/[仓库名]/[镜像名]:tag
          image: europe-west1-docker.pkg.dev/$GCP_PROJECT_ID/my_repo/my_private_image:tag
          before-script:
            # 通过服务账号密钥登录Artifact Registry
            - echo "$GCP_SERVICE_ACCOUNT_KEY" | docker login -u _json_key --password-stdin europe-west1-docker.pkg.dev
          script:
            - ...

注意事项

  • 确认镜像地址格式正确:GCR为[区域].gcr.io/[项目ID]/[镜像名]:tag,Artifact Registry为[区域]-docker.pkg.dev/[项目ID]/[仓库名]/[镜像名]:tag
  • 服务账号必须拥有镜像仓库的拉取权限,否则会出现认证失败或权限不足错误
  • 务必将GCP_SERVICE_ACCOUNT_KEY设置为Secured变量,防止密钥泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:20:31