配置和使用 Developer Connect 代理

本页面介绍了如何配置 Developer Connect 代理。

Developer Connect 代理使用 账号连接器增强了 Developer Connect 处理 身份验证和对源代码管理系统 (SCM)、 任意 HTTP 端点(预览版)的网络访问以及 与非 Google 开发者工具提供商的 连接的方式。

为系统连接或账号连接器启用代理后, Developer Connect 会使用代理服务器向 HTTP 端点 (预览版)发出 Git 请求(例如 git clone)或 API 调用。使用 Google Cloud 控制台创建连接时,系统会默认启用代理。这样,您只需向用户或服务帐号授予 IAM 权限,而无需在 Secret Manager 中管理访问令牌。

例如,在连接上启用 Developer Connect 代理后,您可以执行以下操作:

  • Gemini Code Assist 代码自定义功能与私有托管网络(包括 本地网络)中的 SCM 搭配使用。
  • 使用 Google Cloud 身份验证和 Identity and Access Management 权限从外部 SCM 克隆源代码。

  • 将 Gemini Code Review Agent 与私有托管网络(包括 本地网络)中的 SCM 搭配使用(预览版)。

Developer Connect 支持两种类型的代理:

  • 系统连接代理

    系统连接代理包括以下内容:

    • Git 代理

    用于连接到源代码管理系统 (SCM)

    用于连接到任意 HTTP 端点

  • 账号连接器代理(预览版)

    Developer Connect 代理可与 账号连接器搭配使用。

所有这些都使用相同的设置启用。

准备工作

确保您在 Developer Connect 中至少有一个系统连接(连接到 SCM,例如 GitHub、GitLab 或 Bitbucket,或连接到 HTTP 端点)或一个账号连接器。

如需获得为连接配置 Developer Connect 代理所需的权限,请让您的管理员向您授予启用或停用 Developer Connect 代理的用户的 Developer Connect Admin (developerconnect.admin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

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

如需获得向连接的代理发出请求所需的权限,请让您的管理员向您授予发出 Git 请求的用户账号或服务帐号的以下 IAM 角色:

  • 发出 Git 读取请求(例如 git clone),用于系统连接: Git 代理读取者 (roles/developerconnect.gitProxyReader)
  • 发出 Git 写入请求(例如 git push),用于系统连接: Git 代理用户 (roles/developerconnect.gitProxyUser)
  • 发出 Git 读取和写入请求,用于账号连接器: 账号连接器 OAuth 用户 (roles/developerconnect.oauthUser)

为系统连接启用和停用 Developer Connect 代理设置

使用 Google Cloud 控制台创建系统连接时,系统会默认启用 代理。启用后,Git 代理和 HTTP 代理都会启用。

如需查看和更新代理设置,请执行以下操作:

控制台

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

    前往 Developer Connect

  2. 点击连接 标签页,然后点击要使用的连接的名称。

  3. 连接详情 页面上,点击其他配置 标签页。

  4. 点击 Developer Connect 代理 开关,以停用或重新启用 Developer Connect 代理功能。

    Developer Connect 代理默认处于启用状态。

Google Cloud CLI

为连接启用 Developer Connect 代理设置

如需为连接启用 Developer Connect 代理,请运行 gcloud developer-connect connections update 命令以启用代理设置:

gcloud developer-connect connections update CONNECTION_NAME \
--location=REGION \
--git-proxy-config-enabled

为连接停用 Developer Connect 代理

如需为连接停用 Developer Connect 代理,请运行 gcloud developer-connect connections update 命令以停用代理设置:

gcloud developer-connect connections update CONNECTION_NAME \
--location=REGION \
--no-git-proxy-config-enabled

查看连接的代理设置

如需查看连接的 Developer Connect 代理设置的详细信息,请运行 gcloud developer-connect connections describe 命令:

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

替换以下内容:

  • CONNECTION_NAME 替换为连接的名称。
  • REGION 替换为连接的 区域

本文档的其余部分仅包含 Git 代理说明。

为账号连接器启用和停用 Developer Connect 代理设置

使用 Google Cloud 控制台创建账号连接器时,系统会默认启用代理 。启用后,Git 代理和 HTTP 代理都会启用。

如需查看和更新代理设置,请执行以下操作:

控制台

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

    前往 Developer Connect

  2. 点击账号连接器 标签页,然后点击要使用的账号连接器的名称。

  3. 连接器详情 页面上,点击配置 标签页。

  4. 点击 Developer Connect 代理 开关,以停用或重新启用 Developer Connect 代理功能。

    Developer Connect 代理默认处于启用状态。

Google Cloud CLI

为账号连接器启用 Developer Connect 代理设置

如需为账号连接器启用 Developer Connect 代理,请运行以下命令:

gcloud alpha developer-connect account-connectors update CONNECTOR_NAME \
  --location=REGION \
  --proxy-config-enabled

为账号连接器停用 Developer Connect 代理

如需为连接停用 Developer Connect 代理,请运行以下命令:

gcloud alpha developer-connect account-connectors update CONNECTOR_NAME \
  --location=REGION \
  --no-proxy-config-enabled

查看账号连接器的代理设置

如需查看连接的 Developer Connect 代理设置的详细信息,请运行以下命令:

gcloud alpha developer-connect account-connectors describe CONNECTOR_NAME \
  --location=REGION

替换以下内容:

  • CONNECTOR_NAME 替换为账号连接器的名称。
  • REGION 替换为账号连接器的 区域

查找 Git 代理 URI

对于系统连接

启用 Developer Connect 代理后,您可以按照以下步骤查找系统连接的 Git 代理 URI:

控制台

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

    前往 Developer Connect

  2. 点击连接 标签页,然后点击要使用的连接的名称。

  3. 连接详情 页面中,点击代码库 标签页。

  4. 找到连接的代码库,然后点击 Copy git proxy 网址 (复制 Git 代理网址)。

Google Cloud CLI

如需获取 Git 代理 URI,请运行 gcloud developer-connect connections git-repository-links describe 命令:

gcloud developer-connect connections git-repository-links describe REPOSITORY_NAME \
--connection=CONNECTION_NAME \
--location=REGION

替换以下内容:

  • REPOSITORY_NAME 替换为代码库的名称。
  • CONNECTION_NAME 替换为连接的名称。
  • REGION 替换为连接的 区域

Developer Connect API

Git 代理 URI 位于连接的 GitRepositoryLinkgit_proxy_url字段中。

对于账号连接器

启用 Developer Connect 代理后,您可以使用以下格式构建账号连接器的 Git 代理 URI:

https://REGION-git.developerconnect.dev/a/PROJECT_ID/CONNECTOR_ID/REPO_PATH

其中:

  • REGION 是您创建账号连接器的区域。

  • PROJECT_ID 是您创建账号连接器的项目的 ID。

  • CONNECTOR_ID 是您在其中启用了 Git 代理的账号连接器的 ID。

  • REPO_PATH 是代码库的 Git 网址中网域之后的所有内容。

    例如,如果代码库网址为 https://github.com/myusername/test-repo.git,则 REPO_PATHmyusername/test-repo

向 Git 代理发出请求

获取 Git 代理 URI 后,您可以按照以下步骤向 Git 代理发出请求:

  1. 配置 Git CLI 以使用 Google Cloud CLI 凭据帮助程序:

    git config --global credential.'https://*.developerconnect.dev'.helper gcloud.sh

  2. 向 Git 代理发出请求。此示例是一个 git clone 请求。

    对于账号连接器:

    git clone https://REGION-git.developerconnect.dev/a/PROJECT_NAME/ACCOUNT_CONNECTOR_NAME/ACCOUNT_CONNECTOR_NAME/REPO_PATH
    

    如果您不想使用凭据帮助程序,则可以将云访问令牌嵌入到请求中:

    git clone https://unused:$(gcloud auth print-access-token)@REGION-git.developerconnect.dev/a/PROJECT_NAME/ACCOUNT_CONNECTOR_NAME/REPO_PATH
    
    

    对于系统连接:

    git clone https://REGION.developerconnect.dev/PROJECT_NAME/CONNECTION_NAME/REPOSITORY_NAME
    

    如果您不想使用凭据帮助程序,则可以将云访问令牌嵌入到请求中:

    git clone https://unused:$(gcloud auth print-access-token)@REGION.developerconnect.dev/PROJECT_NAME/CONNECTION_NAME/REPOSITORY_NAME
    

    替换以下内容:

    • REGION 替换为账号连接器的 区域
    • PROJECT_NAME 替换为您在其中创建账号连接器的 Google Cloud 项目的 名称。
    • ACCOUNT_CONNECTOR_NAME 替换为账号连接器的名称。
    • CONNECTION_NAME 替换为系统连接的名称。
    • REPOSITORY_NAME 替换为代码库的名称。
    • REPO_PATH 替换为代码库的路径,例如 my-org/my-repo