连接到 Bitbucket Cloud

本页面介绍了如何创建与 Bitbucket Cloud 的连接,以及如何创建指向 Bitbucket Cloud 代码库的链接。 您可以使用 Google Cloud 控制台或 Google Cloud CLI 完成这些任务。

以下说明适用于希望将 Bitbucket Cloud 源代码库与 Google 搭配使用的应用开发者、平台管理员和安全经理。具体来说,您可以将 Bitbucket Cloud 代码库与 Gemini Code Assist 搭配使用。

如需详细了解 Developer Connect,请参阅 Developer Connect 概览

准备工作

  1. 登录您的 Google 账号。

    如果您还没有 Google 账号,请注册新账号

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 启用 Developer Connect 也会启用 Secret Manager API

  9. 确保您有权访问 Bitbucket Cloud 中的账号。

    为确保团队工作的安全性,我们建议您使用机器人账号或团队共享的账号(而非个人账号)完成本指南中的任务。

  10. 确保您拥有 Bitbucket Cloud 代码库,或者对共享代码库具有管理员级别权限。
  11. 可选:创建客户管理的加密密钥 (CMEK),用于加密 Developer Connect 创建的身份验证 Secret。
  12. 可选:如需使用本指南中的命令行说明,请完成以下步骤:
    1. 安装 Google Cloud CLI。 如果您之前已经安装了 gcloud CLI,请运行 gcloud components update 以确保您拥有最新版本。
    2. 运行以下命令,创建Developer Connect 服务账号,其中 PROJECT_ID 是您的Google Cloud 项目 ID
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

所需的角色

如需获得创建连接和关联所需的权限,请让您的管理员为您授予以下 IAM 角色:

  • 如果您不是项目所有者,则需要为您的用户账号授予 Developer Connect Admin (roles/developerconnect.admin) 角色。
  • 如果您计划使用 CMEK 加密 Developer Connect 创建的 Secret,请在 Secret Manager 服务账号上授予 Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) 角色。
  • 如果您计划使用 gcloud CLI 完成本指南中的步骤: Developer Connect 服务账号的 Secret Manager Admin 角色 (roles/secretmanager.admin)。
  • 如果您计划使用 Google Cloud 控制台完成本指南中的步骤,则需要: 您的用户账号的 Project IAM Admin (roles/resourcemanager.projectIamAdmin) 角色。

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建访问令牌

在 Bitbucket Cloud 中创建个人访问令牌,请完成以下步骤:

  1. 登录 Bitbucket Cloud

  2. 完成以下步骤,在 Bitbucket Cloud 中创建两个访问令牌。这些令牌可以是仓库访问令牌项目访问令牌工作区访问令牌

    1. 请选择您将使用的访问令牌类型对应的说明:

    2. 创建具有以下范围的第一个令牌:

      • 代码库读取
      • 拉取请求读取
      • 网络钩子读取写入

      在 Developer Connect 中,这称为您的授权方访问令牌

    3. 创建具有以下范围的第二个令牌:

      • 代码库读取

      在 Developer Connect 中,这称为您的读取访问令牌

    您负责管理 Bitbucket Cloud 中的令牌生命周期。Bitbucket Cloud 令牌没有有效期,在您撤消之前会一直有效。

    某些类型的 Bitbucket 令牌是付费方案专享的高级功能。如需了解详情,请参阅 Bitbucket Cloud 令牌

  3. 复制访问令牌,以便在后续步骤中使用。

创建连接

本部分介绍了如何在 Developer Connect 与 Bitbucket Cloud 之间建立连接。如果您使用的是 Google Cloud 控制台,则还可以在完成连接设置后开始添加指向代码库的链接。

如需创建新的 Bitbucket Cloud 连接,请选择以下选项之一:

控制台

如需发起连接,请完成以下步骤:

  1. 在 Google Cloud 控制台中,打开 Developer Connect

    前往 Developer Connect

    Developer Connect 会显示 Git 代码库页面。

    • 如果您看到源代码管理提供方列表:请选择一个源代码管理提供方,开始配置您的第一个关联。点击 Bitbucket Cloud 卡片上的连接
    • 如果您看到一个列出现有连接的表格:点击创建连接 > Bitbucket Cloud,设置源代码管理提供商。

      随即会打开创建连接页面。

  2. 区域字段中,为连接资源选择一个区域

    1. 名称部分,输入新连接的名称。
  3. 工作区字段中,输入您的 Bitbucket Cloud 工作区 ID

  4. 访问令牌部分中,输入您的 Bitbucket Cloud 访问令牌:

  5. 点击显示更多以查看可选配置设置。

    1. 可选:在加密部分中,选择一个 CMEK 密钥来加密 Developer Connect 创建的 Secret Manager Secret。

    2. 可选:默认情况下,Developer Connect 可以充当代理,以便向 Bitbucket Cloud 发出 Git 调用。如需停用此选项,请清除启用 Developer Connect 代理复选框。

  6. 如需完成连接配置,请点击继续按钮。

    Developer Connect 会创建连接。此过程可能需要几秒钟时间。

连接创建完毕后,系统会显示关联代码库页面。

请完成以下步骤,将代码库与您的连接相关联:

  1. 在可用代码库列表中,选择要使用的代码库。

  2. 点击确定

  3. 点击关联

您的连接已添加到 Google Cloud 控制台的连接页面,您的代码库链接已添加到代码库页面。您可以随时向现有连接添加更多链接

如果您正在设置 Gemini Code Assist,请按照配置和使用 Gemini Code Assist 代码自定义功能中的步骤继续完成该流程。

gcloud

  1. 运行以下命令,在 Secret Manager 中创建 Webhook Secret,其中 WEBHOOK_SECRET_NAME 是您的 Webhook Secret 的名称:

    cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAME
    
  2. 运行以下命令,将您的个人访问令牌存储在 Secret Manager 中:

    gcloud secrets create AUTHORIZER_SECRET_NAME
    
    echo -n AUTHORIZER_SECRET_DATA | gcloud secrets versions add AUTHORIZER_SECRET_NAME --data-file=-
    
    gcloud secrets create READ_SECRET_NAME
    
    echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-
    

    替换以下内容:

    • AUTHORIZER_SECRET_NAME:Secret Manager 存储您的授权方访问令牌的密文的名称。
    • AUTHORIZER_SECRET_DATA:您的授权方访问令牌。
    • READ_SECRET_NAME:Secret 的名称,Secret Manager 会将您的读取访问令牌存储在该 Secret 中。
    • READ_SECRET_DATA:您的读取访问令牌。
  3. 运行 gcloud developer-connect connections create 命令以创建与 Bitbucket Cloud 的连接:

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --bitbucket-cloud-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/AUTHORIZER_SECRET_NAME/versions/VERSION \
        --bitbucket-cloud-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \
        --bitbucket-cloud-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION
        --git-proxy-config-enabled
    

    替换以下内容:

    • CONNECTION_NAME:连接的名称。
    • REGION:要用于连接的区域
    • PROJECT_ID:您的 Google Cloud项目 ID
    • AUTHORIZER_SECRET_NAME:包含来自 Bitbucket Cloud 的授权方级令牌的 Secret Manager 密文的名称。
    • READ_SECRET_NAME:包含来自 Bitbucket Cloud 的只读令牌的 Secret Manager Secret 的名称。
    • WEBHOOK_SECRET_NAME:包含网络钩子 Secret 的 Secret Manager Secret 的名称。
    • VERSION:每个密文的版本号。此值可以是 latest,以使用最新的版本号。
    • --git-proxy-config-enabled:一个可选标志,用于使 Developer Connect 能够充当 Bitbucket Cloud 的 Git 调用代理。此功能目前为预览版

    Developer Connect 完成与 Bitbucket Cloud 的连接。接下来,关联代码库

与 Bitbucket Cloud 建立连接后,您可以关联到代码库。您可以稍后重复执行这些步骤,根据需要关联其他代码库。

如需在现有的 Bitbucket Cloud 连接上创建代码库链接,请选择以下选项之一:

控制台

如需创建指向代码库的链接,请完成以下步骤:

  1. 在 Google Cloud 控制台中打开代码库页面。

    打开代码库页面

  2. 点击关联代码库

    系统会打开关联 Git 代码库 窗格。

  3. 在连接列表中,选择一个连接。

  4. 点击继续

  5. 在代码库列表中,选择要关联的代码库。

    Developer Connect 会显示代码库资源的建议名称。

  6. 选择代码库资源命名选项:

    • 已生成:使用生成的代码库资源名称。
    • 手动:输入您自己的名称。
  7. 点击创建

    Developer Connect 会创建代码库链接,并在 Google Cloud 控制台中显示这些链接。

gcloud

运行以下命令,创建指向 Bitbucket Cloud 代码库的链接:

gcloud developer-connect connections git-repository-links create REPO_NAME \
    --clone-uri=REPO_URI \
    --connection=CONNECTION_NAME \
    --location=REGION

替换以下内容:

  • REPO_NAME:Developer Connect 与您的 Bitbucket Cloud 代码库之间的新关联的名称。
  • REPO_URI:Bitbucket Cloud 中代码库的网址,包括 https:// 前缀和 .git 后缀。
  • CONNECTION_NAME:您与 Bitbucket Cloud 之间的连接的名称。
  • REGION:连接所在的区域。

Developer Connect 会创建代码库链接。

如需列出关联的代码库,请运行 developer-connect connections git-repository-linkslist 命令。

如果您正在设置 Gemini Code Assist,请按照配置和使用 Gemini Code Assist 代码自定义功能中的步骤继续完成该流程。

后续步骤