连接到 GitHub Enterprise 主机

本页面介绍了如何将 GitHub Enterprise 主机连接到 Cloud Build。

准备工作

  • 启用 Cloud Build and Secret Manager API。

    启用 API

必需的 IAM 权限

如需连接 GitHub Enterprise 主机,请向您的用户帐号授予 Cloud Build Editor (roles/cloudbuild.builds.editor) 角色和 Cloud Build Integrations Owner (cloudbuild.integrations.owner) 角色。

如需向您的用户帐号添加所需的角色,请参阅配置对 Cloud Build 资源的访问权限。如需详细了解与 Cloud Build 关联的 IAM 角色,请参阅 IAM 角色和权限

连接到 GitHub Enterprise 主机

您需要在 GitHub Enterprise 实例上创建 GitHub 应用。应用将网络钩子事件发送到 Cloud Build 端点。收到这些事件后,Cloud Build 将验证载荷,并在事件对应于 Cloud Build GitHub 触发器时执行构建。

本部分介绍如何创建 GitHub 应用:

  1. 登录您的 GitHub Enterprise 实例。
  2. 确保您已安装最新版本的 GitHub Enterprise。

    在某些版本的 GitHub Enterprise 中,您可能需要停用 SameSite Cookie,才能在 Chrome 浏览器中完成以下步骤。如果您的 GitHub Enterprise 版本低于 2.21.3,则需要停用 SameSite Cookie:

    1. 转到 chrome://flags/
    2. 在过滤栏中输入 samesite
    3. 确保 SameSite by default cookies 已停用。

      已停用 SameSite 的屏幕截图

    4. 重新启动浏览器。

  3. 打开 Cloud Build 的管理代码库页面:

    打开“管理代码库”页面

  4. 点击连接主机

    您将看到 Connect host 面板,它会提示您创建主机连接以将 GitHub Enterprise 代码库连接到 Cloud Build。

  5. 主机网址部分中,输入 GitHub Enterprise 实例的网址。例如 ghe.example.com

  6. API 密钥部分,点击生成以生成 API 密钥;如果您已经有 API 密钥,则输入 API 密钥。

    如果要手动创建 API 密钥,请完成以下步骤:

    要获取 API 密钥,请执行以下操作:

    1. 在 Cloud Console 中打开凭据页面:

      打开“凭据”页面

    2. 点击创建凭据

    3. 点击 API 密钥

      您将看到一个弹出式窗口,其中包含创建的 API 密钥。

    4. 点击限制密钥

    5. API 限制下,从下拉菜单中选择 Cloud Build API

    6. 点击保存

  7. [可选] 在组织部分中,输入将为其创建 GitHub 应用的组织。如果将此部分留空,则将在当前用户帐号下创建应用。

  8. [可选] 在 CA 证书部分中,点击浏览以上传您的自签名证书。您的证书大小不得超过 10 KB,应采用 PEM 格式(.pem.cer.crt)。如果此部分留空,系统将使用一组默认证书

  9. [可选] 在网络部分,输入您的网络项目的名称以及网络名称(如果您的 GitHub 企业实例托管在本地,并且您已将网络对等互连到 Google Cloud。

  10. 点击连接主机

    如果您的 GitHub Enterprise 实例位于专用网络中,则主机连接过程可能需要几分钟才能完成。

  11. 如果要将代码库连接到 Cloud Build,请点击连接代码库。否则,请点击完成

  12. 连接主机后,系统会显示一个弹出式窗口,提示您输入 GitHub Enterprise 应用的名称。在输入应用名称之前,系统可能会要求您登录。如果您使用的是 Google Chrome 浏览器,弹出式窗口可能会要求您手动输入 GitHub Enterprise 应用的相关信息。

  13. 登录后,输入 GitHub 应用的名称。

  14. 点击 Create GitHub App

    您刚刚在 GitHub Enterprise 实例上创建了一个 GitHub 应用。Cloud Build 会自动将您的凭据存储在 Secret Manager 中,并将主机连接到您的 Cloud 项目。在 API 中,此连接表示为 GitHubEnterpriseConfig 资源,或者 Cloud Build 与您的 GitHub Enterprise 服务器之间的关联。

    您的主机现已成功连接。如果您要将代码库关联到 Cloud Build,可以点击连接代码库。如需了解详情,请参阅连接到 GitHub Enterprise 代码库

后续步骤