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

Cloud Run移除Bitbucket仓库持续部署选项后,如何实现持续部署?

从Bitbucket仓库实现Cloud Run持续部署的方案

目前Cloud Run移除了直接关联Bitbucket的持续部署选项,你可以通过以下两种主流方案重新实现自动部署:

方案一:使用Bitbucket Pipelines(推荐,适配Bitbucket生态)

这是最直接的方式,通过Bitbucket自带的CI/CD工具完成构建+部署流程:

  1. 配置GCP服务账号

    • 登录GCP控制台,创建一个服务账号,给它分配以下权限:
      • Cloud Run Admin(用于部署服务)
      • Storage Admin(用于推送镜像到GCR)
      • Service Account User(允许服务账号以自身身份执行部署)
    • 下载该服务账号的JSON密钥文件
    • 打开Bitbucket仓库的「Settings」→「Repository variables」,添加两个变量:
      • GCP_SERVICE_ACCOUNT_KEY:将JSON密钥的内容粘贴进去
      • GCP_PROJECT_ID:你的GCP项目ID
  2. 编写Bitbucket Pipelines配置文件
    在项目根目录创建bitbucket-pipelines.yml文件,示例配置如下(按需替换占位符):

    # 使用包含GCP SDK的镜像
    image: google/cloud-sdk:latest
    
    pipelines:
      # 仅在main分支推送时触发部署,可根据需求修改分支规则
      branches:
        main:
          - step:
              name: 构建镜像并部署到Cloud Run
              script:
                # 认证GCP
                - echo "$GCP_SERVICE_ACCOUNT_KEY" > gcp-key.json
                - gcloud auth activate-service-account --key-file=gcp-key.json
                - gcloud config set project $GCP_PROJECT_ID
                # 构建Docker镜像(确保项目根目录有Dockerfile)
                - IMAGE_NAME=gcr.io/$GCP_PROJECT_ID/你的服务名称
                - IMAGE_TAG=$(git rev-parse --short HEAD)
                - docker build -t $IMAGE_NAME:$IMAGE_TAG .
                # 推送镜像到GCR
                - gcloud auth configure-docker
                - docker push $IMAGE_NAME:$IMAGE_TAG
                # 部署到Cloud Run,替换服务名、区域等参数
                - gcloud run deploy 你的服务名称 --image $IMAGE_NAME:$IMAGE_TAG --region 你的区域(如us-central1) --platform managed --allow-unauthenticated
    
  3. 验证流程
    推送代码到main分支,打开Bitbucket仓库的「Pipelines」标签,查看构建和部署是否成功。

方案二:使用Cloud Build触发部署

如果习惯用GCP的Cloud Build工具,也可以通过Webhook关联Bitbucket仓库:

  1. 关联Bitbucket到Cloud Build

    • 登录GCP控制台的Cloud Build服务,进入「触发器」→「创建触发器」
    • 源代码选择「Bitbucket Cloud」,按照提示完成GCP与Bitbucket的授权
    • 配置触发条件(比如指定分支、标签)
  2. 编写Cloud Build配置文件
    在项目根目录创建cloudbuild.yaml,示例配置:

    steps:
      # 构建Docker镜像
      - name: 'gcr.io/cloud-builders/docker'
        args: ['build', '-t', 'gcr.io/$PROJECT_ID/你的服务名称:$COMMIT_SHA', '.']
      # 推送镜像到GCR
      - name: 'gcr.io/cloud-builders/docker'
        args: ['push', 'gcr.io/$PROJECT_ID/你的服务名称:$COMMIT_SHA']
      # 部署到Cloud Run
      - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
        args:
          - 'run'
          - 'deploy'
          - '你的服务名称'
          - '--image'
          - 'gcr.io/$PROJECT_ID/你的服务名称:$COMMIT_SHA'
          - '--region'
          - '你的区域'
          - '--platform'
          - 'managed'
          - '--allow-unauthenticated'
    images:
      - 'gcr.io/$PROJECT_ID/你的服务名称:$COMMIT_SHA'
    
  3. 启用触发器
    保存触发器后,推送代码到Bitbucket仓库,Cloud Build会自动触发构建和部署流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:44:57