连接到 Bitbucket 数据中心代码库

本页面介绍了如何连接到 Bitbucket Data Center 代码库。 到 Cloud Build

准备工作

  • 启用 Cloud Build, Secret Manager, and Compute Engine API。

    启用 API

连接到 Bitbucket 数据中心代码库

控制台

将 Bitbucket 数据中心代码库连接到 Cloud Build 使用 Google Cloud 控制台

  1. 打开 Google Cloud 控制台中的制品库页面。

    打开“代码库”页面

  2. 在页面顶部,选择第 1 代标签页。

  3. 点击关联代码库

  4. 选择 Bitbucket Data Center

    您将看到关联代码库面板。请完成以下操作 连接 Bitbucket Data Center 代码库的步骤:

    1. 区域:选择您的连接所在的区域。

    2. 选择源代码管理提供方下,选择 Bitbucket 数据中心

    3. 主机连接:从 下拉菜单中。

    4. 点击继续

    5. 选择代码库下,选择 Bitbucket Data Center 代码库 您要连接到 Cloud Build

    6. 选择 Bitbucket 数据中心账号和代码库后 阅读同意免责声明,然后选中其旁边的复选框以指明 即表示您接受所提供的条款。

    7. 点击关联以关联您的代码库。

  5. 点击完成。(可选)点击创建触发器以创建触发器。

API

将 Bitbucket 数据中心代码库连接到 Cloud Build ,请完成以下步骤:

  1. 使用以下内容创建 JSON 文件:

    {
      "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME",
      "requests": {
        "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME",
        "bitbucketServerConnectedRepository": {
          "parent": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME",
          "repo": {
             "projectKey":"PROJECT_KEY",
             "repoSlug": "REPO_SLUG",
           }
         }
      }
    }
    

    其中:

    • PROJECT_NUMBER 是您的 Cloud 项目的项目编号。
    • REGION区域 与 Bitbucket Data Center 配置相关联的所有详细信息。
    • BITBUCKET_DATA_CENTER_CONFIG_NAME 是以下名称: 配置好 Bitbucket Data Center 配置
    • PROJECT_KEY 是 Bitbucket 数据的键 项目。如果您想要关联个人代码库,则您的项目 键的用户名前应包含波浪号 (~)。例如 ~${USERNAME}。主机代码库的完整网址是 类似于 https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}
    • REPO_SLUGSlug 您的 Bitbucket Data Center 代码库
  2. 在终端中从同一目录运行以下 curl 命令 为 JSON 文件:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/bitbucketServerConfigs/BITBUCKET_DATA_CENTER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json

其中:

  • PROJECT_NUMBER 是您的 Google Cloud 项目 数字。
  • PROJECT_ID 是您的 Google Cloud 项目 ID
  • REGION区域 与 Bitbucket Data Center 配置相关联的所有详细信息。
  • BITBUCKET_DATA_CENTER_CONFIG_NAME 是以下名称: 配置好 Bitbucket Data Center 配置 如果成功,响应正文将包含一个新创建的 操作
  1. 在终端中运行以下 curl 命令:

    curl -X GET -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8"  -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
    

    其中:

    • PROJECT_NUMBER 是您的 Google Cloud 项目 数字。
    • PROJECT_ID 是您的 Google Cloud ID。
    • REGION区域 与 Bitbucket Data Center 配置相关联的所有详细信息。
    • OPERATION_ID 是 Bitbucket 数据的 ID 中心配置创建操作。您可以使用 放在响应的 name 字段中。name 字段在 您的响应如下所示: projects/project-id/locations/region/operations/operation-id

    您可能需要继续运行 GetOperation API 命令, 响应包含 done: true, 已完成。如果 Bitbucket Data Center 代码库已连接 成功关联后,您可以在 response.bitbucketServerConnectedRepositories 字段。否则,请参阅 error 字段以获取详细错误报告。

连接代码库后,Cloud Build 会配置一个 将该代码库存储在 Bitbucket Data Center 实例中然后代码库 当发生以下情况时,将发送网络钩子以调用相应的 Bitbucket 数据中心触发器: 您需要更改代码库还可以将代码库 通过多个主机连接进行多次访问。如需了解如何管理 请参阅 管理网络钩子

如需找到网络钩子,您需要获取网络钩子 ID。每个 Pod 的 可以在 BitbucketServerConfig 中找到关联的代码库。

输入以下命令以检索 webhook ID:

gcloud alpha builds enterprise-config bitbucketserver describe CONFIG_NAME  --region=REGION

其中:

  • CONFIG_NAME 是 Bitbucket Data 的名称 中心配置
  • REGION 是 Bitbucket 数据的区域 中心主机连接

后续步骤