关联到 GitHub

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

这些说明适用于希望将 GitHub 源代码库与 Google 搭配使用的应用开发者、平台管理员和安全管理员。

例如,您可以从 Gemini Code Assist获取针对您的代码库量身定制的编码建议,也可以使用关联的 GitHub 代码库通过 Firebase App Hosting开发 Web 应用。

如需详细了解 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. 确保您有权访问 GitHub 上的账号。

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

  10. 确保您拥有 GitHub 代码库,或者对共享代码库具有管理员级权限。
  11. 可选:创建客户管理的 加密密钥 (CMEK),用于加密 Developer Connect 创建的身份验证密钥。
  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 创建的密钥:Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) on the Secret Manager Service Account.
  • 如果您计划使用 gcloud CLI 完成本指南中的步骤: Secret Manager Admin 角色 (roles/secretmanager.admin) 在 Developer Connect 服务账号上。
  • 如果您计划使用 Google Cloud 控制台完成本指南中的步骤: Project IAM Admin (roles/resourcemanager.projectIamAdmin) 您的用户账号。

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

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

创建连接

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

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

控制台

如需启动连接,请完成以下步骤:

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

    前往 Developer Connect

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

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

      创建连接 页面随即打开。

  2. 对于区域,请为连接资源选择一个区域

    1. 对于名称,请输入新连接的名称。
  3. 选中启用符合数据驻留规定的连接复选框 ,使此连接符合 数据驻留要求

    如果您在创建连接时选中此复选框,则使用 Google Cloud 控制台创建的 GitHub 连接 符合数据驻留规定 。执行此操作后,Developer Connect 会创建一个 GitHub 应用

    如果您使用 Google Cloud CLI 创建 GitHub 连接,则这些连接不符合数据驻留规定。所有其他连接类型都符合数据驻留规定。

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

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

    2. 可选:默认情况下,Developer Connect 可以充当 GitHub Git 调用的代理。 如需停用此选项,请取消选中启用 Developer Connect 代理 复选框。

  5. 点击继续

  6. 点击我了解并继续 ,同意与 Developer Connect 共享您的 GitHub OAuth 令牌并将其存储在 Secret Manager 中。

  7. 在系统提示您登录 GitHub 时,登录您的账号。

  8. 点击授权 Developer Connect ,允许 Google Developer Connect 应用访问您的 GitHub 账号。

    如果您没有看到此提示,则表示已在此账号上授予授权。

  9. 如果您选择了启用符合数据驻留规定的连接,系统会 提示您创建 GitHub 应用。

    1. 为此 GitHub 应用提供名称。

    2. 点击 Create GitHub App

    3. 选择要在其中安装应用的目标(您的 GitHub 账号或组织)。

    4. 选择要为其安装 GitHub 应用的代码库,或选择 所有代码库 ,然后点击安装

    5. 选择要为此连接关联的代码库,然后点击确定

    6. 点击关联

GitHub 会创建一个令牌,Developer Connect 会将其作为 Secret Manager 密钥存储在您的 Google Cloud 项目中。如需详细了解如何管理密钥,请参阅 查看密钥详细信息

如果您启用了数据驻留,则现在拥有一个 GitHub 应用,您可以通过点击连接详情 页面上的管理安装 来管理该应用。

配置连接

如果您未选中启用符合数据驻留规定的连接 复选框,则需要执行以下步骤。

按照以下说明,授予您的 GitHub 账号的权限并关联到仓库。您在网络浏览器中看到的提示取决于 GitHub 账号是否已安装 Developer Connect GitHub 应用。

在 Developer Connect 对话框中,完成以下步骤:

如果您看到 GitHub 账号列表,请完成以下步骤来安装应用并关联仓库

  1. 选择您要使用的 GitHub 账号。

  2. 选择要授予访问权限的一个或多个仓库。

如果您看到重复使用现有应用安装的提示,请完成以下步骤,选择要在何处配置应用

  1. 点击 GitHub 账号 ,查看已安装 Google Developer Connect 应用的账号。如果您看到要使用的账号,请点击确认 选择该账号。

  2. 如果您没有看到要使用的账号,请执行以下操作:

    1. 选择 Install the GitHub App on another GitHub account ,然后点击确认

    2. 按照 GitHub 步骤允许应用安装。

    3. 选择要授予访问权限的一个或多个仓库。

对话框关闭后,应用安装即完成。

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

如需将代码库关联到您的连接,请完成以下步骤:

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

  2. 点击确定

  3. 点击关联

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

如果您要设置 Gemini Code Assist,请按照 配置和使用 Gemini Code Assist 代码自定义 中的步骤继续该过程

gcloud

以下任务需要在网络浏览器中执行一些操作。

如需启动连接,请完成以下步骤:

  1. 运行 gcloud developer-connect connections create 命令以创建与 GitHub 的连接:

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --github-config-app=APP_TYPE
        --git-proxy-config-enabled
    

    替换以下内容:

    • CONNECTION_NAME:连接的名称。
    • REGION:连接的 区域
    • APP_TYPE:要在 GitHub 中安装的应用类型:DEVELOPER-CONNECT(用于 Gemini Code Assist)或 FIREBASE(用于 Firebase App Hosting)。
    • --git-proxy-config-enabled:一个可选标志,用于启用 Developer Connect 以充当 GitHub Git 调用的代理。 此功能目前为预览版

    系统会创建一个连接名称。

  2. 安装 Developer Connect GitHub 应用,完成连接的创建。运行以下命令以获取应用安装的 URI:

    gcloud developer-connect connections describe CONNECTION_NAME \
        --location=REGION
    

    替换以下内容:

    • CONNECTION_NAME:连接的名称。
    • REGION:连接的 区域

    Developer Connect 会返回一个链接,以便您在浏览器窗口中完成后续步骤。复制此链接。

  3. 在网络浏览器中打开该链接。

  4. 点击我了解并继续 ,同意与 Developer Connect 共享您的 GitHub OAuth 令牌并将其存储在 Secret Manager 中。

  5. 在系统提示您登录 GitHub 时,登录您的账号。

  6. 点击授权 Developer Connect ,允许 Google Developer Connect 应用访问您的 GitHub 账号。

    如果您没有看到此提示,则表示已在此账号上授予授权。

GitHub 会创建一个令牌,Developer Connect 会将其作为 Secret Manager 密钥存储在您的 Google Cloud 项目中。如需详细了解如何管理密钥,请参阅 查看密钥详细信息

如果您启用了符合数据驻留规定的连接,则现在拥有一个 GitHub 应用,您可以通过点击连接详情 页面上的管理安装 来管理该应用。

配置连接

按照以下说明,授予您的 GitHub 账号的权限并关联到仓库。您在网络浏览器中看到的提示取决于 GitHub 账号是否已安装 Developer Connect GitHub 应用。

在 Developer Connect 对话框中,完成以下步骤:

如果您看到 GitHub 账号列表,请完成以下步骤来安装应用并关联仓库

  1. 选择您要使用的 GitHub 账号。

  2. 选择要授予访问权限的一个或多个仓库。

如果您看到重复使用现有应用安装的提示,请完成以下步骤,选择要在何处配置应用

  1. 点击 GitHub 账号 ,查看已安装 Google Developer Connect 应用的账号。如果您看到要使用的账号,请点击确认 选择该账号。

  2. 如果您没有看到要使用的账号,请执行以下操作:

    1. 选择 Install the GitHub App on another GitHub account ,然后点击确认

    2. 按照 GitHub 步骤允许应用安装。

    3. 选择要授予访问权限的一个或多个仓库。

对话框关闭后,应用安装即完成。

验证连接

运行以下命令,验证 GitHub 连接的创建:

gcloud developer-connect connections describe CONNECTION_NAME \
    --location=REGION

替换以下内容:

  • CONNECTION_NAME:连接的名称。
  • REGION:连接的区域。

Developer Connect 会在 installationState 字段中返回状态。如果此字段的值为 COMPLETE,则表示应用安装已完成。 否则,Developer Connect 会返回一个 URI,以便您在浏览器中返回配置。

连接完成后,请按照 向现有连接添加代码库链接中的说明选择要关联的代码库。

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

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

控制台

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

    打开代码库 页面

  2. 点击关联代码库

    关联 Git 代码库 窗格随即打开。

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

  4. 点击继续

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

  6. 点击创建

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

gcloud

运行以下命令:

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

替换以下内容:

  • REPO_NAME:代码库的名称。
  • REPO_URI:指向 GitHub 代码库的链接。 例如,https://github.com/cloud-build/test-repo.git
  • CONNECTION_NAME:连接的名称。
  • REGION:连接的 区域

Developer Connect 会创建代码库链接。

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

如果您要设置 Gemini Code Assist,请按照 配置和使用 Gemini Code Assist 代码自定义 中的步骤继续该过程

数据共享

与此连接关联的 Google Cloud 资源的内容可能会 转移到 GitHub。此声明适用于目前和未来使用此连接的所有资源。如需停止与 GitHub 共享信息, 请在 控制台或 gcloud CLI 中删除 Developer Connect 连接,并在 GitHub 中撤消访问权限。 Google Cloud

后续步骤